Я пытаюсь динамически создать что-то вроде инициализатора типа C #:
MyClass class = new MyClass { MyStringProperty= inputString };
Я хочу создать универсальный метод, который один раз отражает данный тип и возвращает делегат, который создает новый экземпляркласс и заполняет его на основе входного параметра.Сигнатура метода может выглядеть следующим образом:
Func<string,T> CreateFunc<T>();
И вызов результирующей функции создаст новый экземпляр 'T' с (например) каждым открытым свойством типа String со значением входной строкиАргумент.
Если предположить, что MyClass имеет только MyStringProperty, приведенный ниже код будет функционально эквивалентен коду в начале:
var func = CreateFunc<MyClass>();
func.Invoke(inputString);
Я довольно хорошо знаком с Системой.Пространства имен Reflection и System.Linq.Expressions, и в прошлом я делал такие сложные вещи, как эта, но эта поставила меня в тупик.Я хочу создать скомпилированный делегат, а не просто перебирать свойства, используя отражение.
Спасибо!