调用标准内核GetProvider
本文关键字:GetProvider 内核 标准 调用 | 更新日期: 2023-09-27 18:04:22
我试图获得将实现接口的类的FullName。我使用StandardKernel
Kernel = new StandardKernel();
但是我似乎不能得到我想要的信息,因为
Kernel.GetBindings(type).FirstOrDefault().GetProvider() //ignore the pos. null for this example
GetProvider()
需要一个IContext
,我不知道从哪里得到它…
有点奇怪的解决方案,但在一个简单的情况下为我工作:
var kernel = new StandardKernel();
kernel.Bind<IEnumerable>().To<Array>();
var kernelTarget = kernel.GetBindings(typeof(IEnumerable)).First ().ProviderCallback.Target;
var typeName = kernelTarget.GetType().GetField("prototype").GetValue(kernelTarget).ToString();