Метод создания 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;
}
Может кто-нибудь показать мне пример того, как это сделать (установка только подмножества всех полей в классе) с использованием облегченной генерации кода?