MSN Messengerプロトコルのクライアントを作成していて、サーバーとの間で送受信されるコマンドを表すクラスがあります。
これらの例は簡略化されています
class AddUserCommand {
public int TransactionId { get; set; }
public string EmailAddress { get; set; }
}
class SendMessageCommand {
public int TransactionId { get; set; }
public string Recipient { get; set; }
public string DeliveryMethod { get; set; }
public int MessageLength { get; set; }
public string Message { get; set; }
}
.NET Frameworkですでに利用可能なクラスを使用して、これらのコマンドを非常に単純なスペース区切りの文字列にシリアル化し、ソケットを介して送信することは可能ですか?
例えば..
AddUserCommand becomes
ADD 3 bob@bob.com
SendMessageCommand becomes
MSG 2 bob@bob.com OFFLINE 28
Hello bob how are you doing?
問題は、私が見た/使用したすべてのシリアル化クラスがキーと値のペアを使用していることです。ここで、キーは文字列内の引数の位置によって暗黙的に示されます。