我想在下面做类似的事情,通过类属性或方法,我应该能够存储和检索数据,
//set the value
var someObject = {... };
var newMessage = new Message(JsonConvert.SerializeObject(someObject))
{
ContentType = "application/json"
};
//get the value
Message message;
var x = message.GetBody<string>()
我尝试创建如下所示的类,但是必须提供方法的主体。如何设计此类?
public class Message
{
public Message(object serializableObject);
public string SessionId { get; set; }
public string ContentType { get; set; }
public T GetBody<T>();
}
答案 0 :(得分:1)
我想我理解您的问题,但是您错过了构造函数
new Message(JsonConvert.SerializeObject(someObject)) //<-- string is passed
我认为您误解了JsonConvert.SerializeObject(someObject)
语句,它将返回字符串而不是对象。而您使用了错误的类型作为构造函数的参数。
public Message(object serializableObject); // should be a string
要更正您的课程,您需要按照以下方式进行设计...
public class Message
{
private readonly string _json;
public Message(string json)
{
_json = json;
}
public string GetBody() // not generic, but you get the idea now.
{
return json;
}
}