1

インターフェイスを実装するクラスの FullName を取得しようとしています。私は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 に答える