1

我正在尝试获取将要实现接口的类的全名。我用一个StandardKernel

Kernel = new StandardKernel();

但我似乎无法获得我想要的信息,因为

Kernel.GetBindings(type).FirstOrDefault().GetProvider() //ignore the pos. null for this example

GetProvider()需要一个IContext,我不知道从哪里得到它...

4

1 回答 1

2

有点奇怪的解决方案,但在一个简单的情况下对我有用:

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();
于 2013-03-18T13:17:07.983 回答