Метод создания LCG для установки подмножества всех свойств в классе (заменитель отражения; C#)

Сценарий: у меня есть этот класс

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

Пользователь имеет возможность выбирать только для примера FirstName а также Age,

В настоящее время я использую рефлексию, но мне сказали, что рефлексия снижает производительность помимо всего прочего.

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 ответов

Другие вопросы по тегам