草庐IT

ninject-extensions

全部标签

c# - 在 Ninject 中注入(inject)接口(interface)数组

考虑以下代码。publicinterfaceIFoo{}publicclassBar{publicBar(IFoo[]foos){}}publicclassMyModule:NinjectModule{publicoverridevoidLoad(){Bind().ToConstant(newIFoo[0]);//ToConstant()isjustanexample}}publicclassProgram{privatestaticvoidMain(string[]args){varkernel=newStandardKernel(newMyModule());varbar=kern

c# - 在 Ninject 的所有程序集中加载模块

我的项目中有几个类库,并且都在使用NinjectIoC容器。我想在找到INinjectModule的地方一次性加载StandardKernel中的所有模块。所以我用了:varkernel=newStandardKernel();kernel.Load(AppDomain.CurrentDomain.GetAssemblies())但是由于某些原因这不起作用。谁能帮忙? 最佳答案 好吧,这通常发生在声明了绑定(bind)但加载了其他模块时,该模块试图解析尚未加载的绑定(bind)。发生这种情况是因为List顺序可能不正确。如果你认为是

c# - 设置 Ninject 单例的方法

我有一个类(MyFacade),我用Ninject注入(inject)了参数:classMyFacade{IDemoInterfacedemo;publicMyFacade(IDemoInterfacedemo){this.demo=demo;}publicvoidMyMethod(){Console.WriteLine(demo.GetInfo());}}当然,我必须设置Ninject注入(inject)我的参数的适当实现(IDemoInterface)我知道,我可以实例化MyFacade通过做对象kernel.Get();无需设置任何其他内容。目前我的门面没有接口(interfac

c# - 如何解决 Ninject 模块内的依赖关系?

我正在使用Ninject2和Asp.NetMVC3。我有以下模块。publicclassServiceModule:NinjectModule{publicoverridevoidLoad(){//Ineedtogetthe'configHelper'fromNinjectContainer.IConfigHelperconfigHelper=ResolveConfigHelperHere();Bind().To().WithConstructorArgument("myArg",configHelper.MyProperty);}}我们如何获取已在Ninject模块中绑定(bind)

c# - 如何在 ASP.NET MVC 5 中将 IAuthenticationManager 与 Ninject 绑定(bind)?

我正在尝试将IAuthenticationManager与Ninject绑定(bind),以便它可以注入(inject)到我的AuthenticationService中。问题是我目前从HttpContext.GetOwinContext()在我的Controller上获取IAuthenticationManager,如下所示:privateIAuthenticationManagerAuthenticationManager{get{returnthis.HttpContext.GetOwinContext().Authentication;}}我如何着手创建与Ninject的绑定(

c# - MVC3 + Ninject - 如何?

我刚刚开始使用IoC容器,因此选择了Ninject。经过几个小时的汗水和泪水,我仍然无法弄清楚如何使用Ninject设置我的MVC3应用程序。到目前为止我有:全局.asax.cspublicclassMvcApplication:Ninject.Web.Mvc.NinjectHttpApplication{publicstaticvoidRegisterGlobalFilters(GlobalFilterCollectionfilters){filters.Add(newHandleErrorAttribute());}publicstaticvoidRegisterRoutes(Ro

c# - 初始化 ninject 时“序列不包含任何元素”异常

我遇到了Ninject的问题,这是我以前从未见过的,也不知道如何解决。我正在为MVC5使用MVCNuGet包。在我的NinjectWebCommon.cs中,有如下方法:publicstaticvoidStart(){DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));bootstrapper.Initialize(CreateKernel);}然而,它在尝试执行最后一行时失败

c# - 使用反射检查方法是否为 "Extension Method"

作为我的应用程序的一部分,我有一个接收MethodInfo的函数,并且需要根据该方法是否为“扩展方法”对其执行特定操作。我检查了MethodInfo类,但找不到任何显示该方法是扩展的IsExtension属性或标志。有谁知道如何从方法的MethodInfo中找到它? 最佳答案 您可以在MethodInfo实例上调用IsDefined方法,通过检查ExtensionAttribute是否应用于该方法来找出这一点:boolisExtension=someMethod.IsDefined(typeof(ExtensionAttribute

c# - VS2010 中的 2.0 框架 .net 引用缺少 System.web.extensions 引用 dll?

我遇到了与此类似的问题person.我正在尝试使用visualstudio2010中使用2.0框架的旧项目。但是,当它在添加时过滤到2.0框架时,它不会识别System.web.extensionsdll是该框架的一部分引用对话框。不,我的框架只是设置为“.NETFramework2.0”,因为没有2.0客户端。如有任何帮助,我们将不胜感激。现在我只是用记事本手动进入csproj文件并添加到引用中。这似乎有效。有没有一种方法可以让我对我正在处理的其他项目执行此操作,或者我是否只需要在每个项目的csproj文件中手动添加它? 最佳答案

c# - 如何在 Windows 窗体应用程序中使用 Ninject?

我有一个带有此主窗体的WinForms应用程序:ICountRepositorycountRepository;publicMainForm(ICountRepositorycountRepository){this.countRepository=countRepository;}publicvoidIncrementCount(){countRepository.IncrementCount();}但我正在努力将ICountRepository注入(inject)主窗体。我该怎么做? 最佳答案 好吧,第一步是从:varform=