Создайте Func для возврата как ссылочных, так и типов значений

У меня есть метод, возвращающийFunc<object> построен по выражению следующим образом:

var expr = Expression.Property(
        Expressions.Expression.Constant(new Foo { Name = "Hans", Age = 3 }, typeof(Foo)), 
        "Age");
var f = Expression.Lambda<Func<object>>(expr).Compile();

Это выражение должно возвращатьAge-свойство этого манекенаFoo-объект. Проблема в том, что я хочу вернутьFunc<object> вместоFunc<int> Я получаю

ArgumentException: выражение типаSystem.Int32 нельзя использовать как тип возвратаSystem.Object, (или что-то подобное, есть немецкая версия).

Если бы я выбралName-свойство вместоAge-собственность та же работает. Я знаю, что это связано с боксом и распаковкой какint не распространяетсяobject.

Однако, как я могу вернуть соответствующую функцию, которая представляет значение-тип-свойство?

Ответы на вопрос(1)

Ваш ответ на вопрос