我正在研究this扩展方法,并尝试约束T,以便该方法不适用于每个对象...只是DataContractJsonSerializer适用于
的方法public static string ToJSONString(this object obj)
{
using (var stream = new MemoryStream())
{
var ser = new DataContractJsonSerializer(obj.GetType());
ser.WriteObject(stream, obj);
return Encoding.UTF8.GetString(stream.ToArray());
}
}
答案 0 :(得分:1)
仿制药中可用的选项是......有限。一种解决方法是使用反射(通常在泛型类型的静态ctor中)来检查反射,但是这可能是过度的。您是否可以添加where T : class, new()
,这可能会将其限制为“实体”/ DTO类型。