ToString()
メッセージデータを表す(メソッドを実装する)いくつかの異なるクラスがあります
DatabaseMessage
Method1Message
Method2Message
- 等...
次にMessage
、送信者を表す文字列と、(メッセージからの) about メッセージ データ クラスの 1 つを表す文字列を持つクラスがありToString()
ます。このクラスを作成して、通信パイプにメッセージを送信します。
もう一方の端ではMessage
、文字列からクラスを作成し、それがどのメッセージ データ型であるかを正確に認識している特定のメソッドに送信します。DatabaseMessage
次に、メッセージ オブジェクト全体を何かにキャストして、特定のメッセージ データ (クラスなど)にアクセスできるようにします。
class DatabaseMessage
{
public string ToString()
{
// ...
}
}
class Message
{
public string sender;
public string data;
public static Message FromString(string message)
{
// ...
}
}
//...
public void Send()
{
DatabaseMessage db_mess = new DatabaseMessage();
Message m = new Message();
m.sender = "me";
m.data = db_mess.ToString();
}
public void Recieve(string message)
{
Message m = Message.FromString(message);
DatabaseMethod(m);
}
public void DatabaseMethod(Message m)
{
// I want to be able to do this:
DatabaseMessage db_mess = (DatabaseMessage)m;
//...
}
これを実装するにはどうすればよいでしょうか。
それが理にかなっていることを願っています。