我已经在变量中指定了类型:Type hiddenType
。我需要创建一个 Func<T>
委托,其中 T
是在上述变量中指定的类型,并将一个方法分配给它:
var funcType = typeof(Func<>).MakeGenericType(hiddenType);
Func<object> funcImplementation = () => GetInstance(hiddenType);
var myFunc= Delegate.CreateDelegate(funcType , valueGenerator.Method);
它不起作用-因为funcImplementation
返回object
而不是所需的类型。在运行时,它肯定是hiddenType
指定类型的实例。
GetInstance
返回object
,签名不能更改。
GetInstance
的声明返回值只是object
,所以在这里使用Func<object>
是完全正确的。 - MakePeaceGreatAgainmyFunc
Тў»Func<HiddenType>
УђїСИЇТў»Func<object>
сђѓС╗ќт░ЮУ»ЋСй┐ућеCreateDelegate
№╝їСйєТ▓АТюЅТѕљтіЪсђѓ - Sergey Kalinichenko