typeof() is:
if (result is Message)
, packet.Read() :
public StateResult
{
public StateResultEnum Result;
public IDataObject Data;
}
IDataObject , , .
:
public interface IDataObject
{
string GetData();
}
public Message : IDataObject
{
public string Contents;
public Message(string contents)
{
Contents = contents;
}
public string GetData()
{
return json;
}
}
public MyObject : IDataObject
{
public string Contents;
public string ExtraInfo;
public MyObject(string contents, string extraInfo)
{
Contents = contents;
ExtraInfo = extraInfo;
}
public string GetData()
{
return json;
}
}
: object . , IValidatable, Validate(). IValidatable , , ( MyObject, Message), , . , obj.ExtraInfo - , obj.Validate().