[英]how can I parse object into a class like json deserialize?
我想制作一个自己的解析器,可以将对象值解析为包含具有属性的类的<T>
类型。
类ASObject
只是一个Dictionary<string, object>
public class Example {
public string User { get; set; }
public int Id { get; set; }
}
public static class ServiceResultParser<T>
{
public static T Parse(ASObject AS)
{
foreach(var l in AS.Values)
{
}
}
}
Usage:
var Result = ServiceResultParser.Parse<Example>(theobject);
string User = Result.User;
这只是一个我在 json 中称为Example
的测试类,我们可以使用JsonConvert.DeserializeObject<T>(value)
不,我不想解析 json。
我现在如何将值解析为Example
类?
关于。
您可以检查 T 是否具有名称与字典键匹配的属性:
public static class ServiceResultParser<T> where T : new()
{
public static T Parse(ASObject AS)
{
var temp = GetObject();
foreach(var l in AS)
{
PropertyInfo[] properties = typeof(T).GetProperties();
foreach (PropertyInfo property in properties)
{
if(property.Name == l.Key) property.SetValue(temp, l.Value);
}
}
return temp;
}
protected T GetObject()
{
return new T();
}
}
您还应该检查属性类型是否匹配等...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.