LCG create方法设置类中所有属性的子集(反射替换; c#)

时间:2014-04-04 16:35:14

标签: c# reflection code-generation il lcg

场景:我有这个课程

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

用户只能选择FirstNameAge

目前我正在使用反思,但有人告诉我,反思会影响其他方面的表现。

public static class Helper<T>GetObject(List<string> fieldsToSet, Dictionary<string, string> values)
{
    var returnObject = new T();

    foreach (string field in fieldsToSet)
    {
        var property = returnObject.GetType().GetProperty(field);
        property.SetValue(returnObject, values[field], null);
    }        

    return returnObject;
}

任何人都可以使用轻量级代码生成向我展示如何执行此操作(仅设置类中所有字段的子集)的示例吗?

0 个答案:

没有答案