我无法在Xamarin.Mac项目中使用Portable.Ninject。
我正在创建一个这样的容器:
public class MainClass
{
public static StandardKernel Container { get; set; }
static void Main(string[] args)
{
var kernel = new StandardKernel(new CoreModule());
Container = kernel;
NSApplication.Init();
NSApplication.Main(args);
}
}
CoreModule是这样的:
public class CoreModule: NinjectModule
{
public override void Load()
{
Bind<ISettings>().To<EyeLeoSettings>().InSingletonScope ();
}
}
当我尝试在AppController构造函数中将其用作服务定位器时:
private ISettings _settings;
public AppController()
{
_settings = MainClass.Container.Get<ISettings> ();
}
我得到NullReferenceException。以下是堆栈跟踪中的几行:
System.NullReferenceException:未将对象引用设置为实例 在...的对象 Ninject.Infrastructure.Language.ExtensionsForMemberInfo.get_ParentDefinitionMethodInfo ()at Ninject.Infrastructure.Language.ExtensionsForMemberInfo.GetParentDefinition (System.Reflection.MethodInfo,System.Reflection.BindingFlags)...
如果在Xamarin.Mac应用程序中使用Portable.Ninject,请告诉我。谢谢。