public static string JsonSerializer<T>(T t)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, t);
string jsonString = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
return json;
}
以上是典型的 json 辅助方法。 <T>
的相关性是什么?以及将参数作为类型 T 传递的相关性?
考虑到所有对象都继承自 object
,我希望此方法签名为:
public static string JsonSerializer(object t)...
我很欣赏向 SO 社区询问为什么其他人的代码以某种方式读取可能是一种糟糕的提问方式,但这是许多文章和教程中都可以找到的非常标准的辅助方法,所以我希望这种方法是这样的一个被接受的。
最佳答案
这只是为了让您不必使用 GetType()
来获取 DataContractJsonSerializer
的 T
类型。它还会停止对值类型进行装箱。
关于c# - 为什么在这种情况下使用泛型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17816167/