草庐IT

dll-injection

全部标签

c# - 使用依赖注入(inject)注入(inject)多个实现

我目前正在开发一个ASP.NETCore项目,并希望使用内置的依赖注入(inject)(DI)功能。好吧,我从一个界面开始:ICar{stringDrive();}并希望实现ICar界面多次喜欢publicclassBMW:ICar{publicstringDrive(){...};}publicclassJaguar:ICar{publicstringDrive(){...};}并在Startup中添加以下内容类publicvoidConfigureServices(IServiceCollectionservices){//Addframeworkservices.services

c# - 在 EXCEL VBA 中使用 C# dll

我在这里遇到了一个小问题,需要你们的帮助。我有一个通过COM互操作公开的C#DLL。它工作正常,但显然C#互操作对象的部署是一场灾难,每次更新DLL时都需要重新加载。所以我想知道如何使用此C#DLL中的函数,如下所示:或者我可以通过将DLL和电子表格放在一起来调用函数的任何东西。DeclareFunctiongetStringLib""()asstringsubtest()range("A1").value=getStringEndSub语法可能有误。 最佳答案 你可以这样做,但你必须了解VBA和.Net的区别。首先,您必须创建一个

c# - MVP 依赖注入(inject)

使用MVP,构建和依赖注入(inject)的正常顺序是什么。通常,您为每个View创建一个展示器,然后将View传递给构造函数中的展示器。但是,如果您有:多个View需要监听事件的服务。多个View都指向同一个数据模型缓存。有人可以显示从用户点击到从服务器返回到服务中的数据的正常信息流吗? 最佳答案 这是我的做法:首先,我定义了这些接口(interface):publicinterfaceIView{TPresenterPresenter{get;set;}}publicinterfaceIPresenterwhereTView:I

c# - 依赖注入(inject)和类继承

我觉得这是我应该已经知道的事情,但我今天并不是在所有引擎上开火......我有一个带有单个构造函数的基类,它采用接口(interface)的实现作为唯一参数。我使用的是DI框架,我的组件注册都已设置好并且工作正常。当我从这个基类继承时,除非我将一个值传递给基类构造函数,否则我必须定义一个绕过DI的无参数构造函数。所以现在我有:publicclassMyObjectBase{IMyRequiredInterface_InterfaceImpl;publicMyObjectBase(IMyRequiredInterfaceinterfaceImpl){_InterfaceImpl=inte

c# - 没有 IoC 或依赖注入(inject)的模拟

有没有一种方法可以在单元测试中使用mock或fakes而不必使用依赖注入(inject)或反转或控制?我发现此语法可与TypeMockIsolator(http://learn.typemock.com/)一起使用。虽然它是一个商业产品,所以我希望其他框架(例如RhinoMocks)会在某个阶段引入这样的语法。///CanmockobjectsWITHOUTDEPENDENCYINJECTION.varhand=Isolate.Fake.Instance();varmouth=Isolate.Fake.Instance();Isolate.Swap.NextInstance().Wit

c# - 在 C# 项目中动态加载 DLL 文件 - 如何?

在我的项目中我需要使用插件。但是要在我的项目中使用这些,我需要导入插件的引用。由于我无法事先知道项目使用了多少或哪些插件,所以我想在我的项目中动态导入它们。Stringpath=Application.StartupPath;string[]pluginFiles=Directory.GetFiles(path,"*.dll");ipi=newIPlugin[pluginFiles.Length];Assemblyasm;for(inti=0;i在此代码示例中,我搜索了所有.dll文件并将它们放入字符串列表中。但是我现在如何加载所有这些.dll文件呢?或者有没有办法在不真正导入这些文件

c# - 从 C++/CLI 调用 C# dll 函数

我有一个C#dll。代码如下:publicclassCalculate{publicstaticintGetResult(intarg1,intarg2){returnarg1+arg2;}publicstaticstringGetResult(stringarg1,stringarg2){returnarg1+""+arg2;}publicstaticfloatGetResult(floatarg1,floatarg2){returnarg1+arg2;}publicCalculate(){}}现在,我打算用这种方式从C++调用这个dll。[DllImport("Calculatio

c# - Hangfire.Autofac 与 MVC 应用程序 - 注入(inject)失败

我正在尝试创建一个简单的Hangfire测试,但它不起作用。这是所有重要的代码,以及我如何使用Hangire.Autofac配置它。不知道我在这里错过了什么。我在/hangfire仪表板中遇到的异常也在下面。publicclassAmazonSqsService:IAmazonSqsService{privatereadonlyIBackgroundJobClient_backgroundJobClient;privatereadonlyILogService_logService;publicAmazonSqsService(IBackgroundJobClientbackgroun

c# - .Net Core 2.0 中 Controller 和 BaseController 中的依赖注入(inject)重复

如果我在我的Asp.NetCore2.0Web应用程序中创建一个BaseController来封装一些常见的依赖项,它们在实际Controller中是否仍然是必需的。例如,默认MVC6网络应用程序中的标准帐户和管理Controller。publicclassAccountController:Controller{privatereadonlyUserManager_userManager;privatereadonlySignInManager_signInManager;privatereadonlyIEmailSender_emailSender;privatereadonlyI

c# - 以编程方式检查 Gac 中是否存在 dll。如果存在,则将其显示在网格中

我将在一个文件夹中有一个dll列表,我想检查一个dll是否存在一个应用程序。如果是这样,我想在网格中添加该应用程序名称。任何人都可以告诉如何以编程方式执行此操作。提前致谢 最佳答案 执行assembly.LoadFrom并检查GlobalAssemblyCachetestAssembly=Assembly.LoadFrom(dllname);if(!testAssembly.GlobalAssemblyCache){//notingac} 关于c#-以编程方式检查Gac中是否存在dll。