我想知道是否可以创建一个C#方法,该方法接受任何类型的对象,并返回该对象的实例化版本,例如:
public static T GetObjectFromJToken<T>(JToken jToken, string jTokenTag) where T : new ()
{
if (jToken[tag] != null && jToken[tag].ToString() != "")
{
return new T(JToken.Parse(jToken[tag].ToString()));
}
return new T();
}
然后可以像下面这样使用该方法:
MyObject myObject = GetObjectFromJToken<MyObject>(jToken, "someJsonTag");
这可能吗?
感谢进阶!
答案 0 :(得分:1)
您可以使用JToken.ToObject
这样的通用方法:
public static T GetObjectFromJToken<T>(JToken jToken, string jTokenTag) where T : class, new()
{
return jToken[jTokenTag]?.ToObject<T>() ?? new T();
}