2011-01-29 26 views
12

Kişisel bir proje için yoğun bir çalışma yapıyorum ve Type nesnesi aracılığıyla bir temsilci dönüş türüne erişmem gerekiyor. Bu biraz meta, yani bir örnek.Yansıtma yoluyla bir temsilci türünün dönüş türünü nasıl alabilirim?

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

Bunu nasıl yapabilirim?

Delegate ürününe dökülecek türden hiçbir vakayla sahip olmayacağım.

cevap

16

Bir yol, temsilci türünün Invoke yöntemini temsil eden MethodInfo yöntemini almak ve sonra yöntemin dönüş türünü almak olacaktır.

var result = type.GetMethod("Invoke").ReturnType; 
İlgili konular