Как я могу получить тип возвращаемого типа делегата через отражение? - PullRequest
12 голосов
/ 29 января 2011

Я делаю тяжелую работу для личного проекта, и мне нужно получить доступ к типу возврата делегата через его объект Type.Это небольшая мета, так что вот пример.

Type type = typeof(Func<Foo, Bar, Baz>);
// ????
// Use reflection to come to the following expected result
Type result = typeof(Baz);

Как я могу это сделать?

У меня не будет ни одного экземпляра этого типа для приведения в Delegate.

1 Ответ

17 голосов
/ 29 января 2011

Один из способов - получить MethodInfo, представляющий метод Invoke типа делегата, а затем получить тип возврата метода.

var result = type.GetMethod("Invoke").ReturnType;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...