草庐IT

dll-interface

全部标签

c# - 不同的 DLL,但在控制台应用程序和网站中应该相同

我有一个控制台应用程序和网站使用相同的System.Runtime.Serialization.Primitives.dll程序集。但是,当我运行该网站时,我的程序集是右边那个,但是如果我运行安慰应用程序,该网站的DLL变成了左边那个并导致错误。这两个项目都是v4.7,在我将所有项目升级到该框架后开始出现这种情况。两个项目都有这个 最佳答案 通过对相同DLL的不同引用来解决此问题的方法:第1步:在VisualStudio2015上创建一个新的网络应用第2步:检查问题是否仍然存在于这个新的网络应用程序项目中。如果答案是否并且问题不再存

c# - 接口(interface)的隐式和显式实现

在进行升级时,我碰巧遇到了这样的代码。interfaceICustomization{IMMColumnsDefinitionGetColumnsDefinition();}classCustomization:ICustomization{privatereadonlyColumnDefinition_columnDefinition;//Morecodehere.publicColumnsDefinitionGetColumnsDefinition(){return_columnDefinition;}ColumnsDefinitionICustomization.GetColum

c# - 使用两个具有相同名称和相同命名空间的 DLL

我有一个项目需要引用两个同名的DLL。DLL没有强命名,具有完全相同的名称。我需要访问每个DLL中的某些类型,但这些类型具有相同的完全限定名称。所以假设第一个是带有someProduct.Type1的companyDLL.dll和第二个是带有someProduct.Type1的companyDLL.dll。如何访问同一项目中的两个Type1类?我已经尝试使用externalias,但它需要我更改其中一个DLL的名称。 最佳答案 如果您的两个DLL具有相同的名称,您将不得不重命名它们。如Assembly1.dll和Assembly2.

c# - 将接口(interface)转换为它不继承的另一个接口(interface)

我希望这里有人可以解释我所做的错误假设。在C#4.0中,我有2个接口(interface)和一个实现它们的类。在一个方法中,我声明了一个具有第一个接口(interface)类型的变量,使用实现这两个接口(interface)的类实例化它,并且可以以某种方式成功地将它转换为第二个接口(interface),如以下代码所示:publicinterfaceIFirstInterface{voidMethod1();}publicinterfaceISecondInterface{voidMethod2();}publicclassInterfaceImplementation:IFirstI

c# - 您可以将接口(interface)附加到已定义的类吗

情况是这样的。在某些情况下,我发现自己想要一个类,我们称它为classC,它具有与classA相同的功能,但还具有interfaceB实现。现在我这样做:classC:A,B{//codethatimplementsinterfaceB,andnothingelse}如果classA碰巧被密封了,问题就来了。有没有一种方法可以使classAimplementinterfaceB而不必定义classC(使用扩展方法或其他) 最佳答案 基本上:没有。这是“mixins”可以带来的部分内容,但C#语言目前不支持它(它已经讨论过几次,IIR

c# - DLL 中的单例类可以跨进程共享吗?

我正在创建一个自定义的.net硬件框架,其他程序员将使用它来控制某些硬件。他们将添加对我们的DLL的引用以访问我们的硬件框架。我需要一个可以从多个应用程序(进程)访问的共享类。单例模式似乎是我所需要的,但它只适用于进程内的多个线程。我可能完全错了,但这是我目前拥有的C#代码的示例。我不禁觉得设计不正确。我希望我可以分享更具体的信息,但我不能。我必须强调,我无法控制客户的申请。解决方案必须包含在框架(DLL)本身中。框架:(共享DLL)publicclassResources{staticreadonlyResourcesm_instance=newResources();publics

c# - 从 C#/NET 引用针对 Cygwin 在 GCC 中构建的 GNU C (POSIX) DLL

这就是我想要的:我有一个为POSIX编写的巨大的遗留C/C++代码库,包括一些非常POSIX特定的东西,比如pthreads。这可以在Cygwin/GCC上编译并作为可执行文件在Windows下使用CygwinDLL运行。我想做的是将代码库本身构建到一个WindowsDLL中,然后我可以从C#引用它并围绕它编写一个包装器以编程方式访问它的某些部分。我在http://www.cygwin.com/cygwin-ug-net/dll.html上用非常简单的“helloworld”示例尝试了这种方法。它似乎不起作用。#includeextern"C"__declspec(dllexport)

c# - 有没有办法创建支持接口(interface)的 DynamicObject?

我可以定义一个派生自DynamicObject并支持接口(interface)(ICanDoManyThings)的类,而不必在接口(interface)中实现每个方法吗?我正在尝试创建一个动态代理对象,并希望通过MyProxyClass.TryInvokeMember的实现来处理对此类的方法调用,这可能会也可能不会将它们传递给包装对象。这可能吗?谢谢 最佳答案 ImpromptuInterface正是这样做的,它适用于任何IDynamicMetaObjectProvider,包括DynamicObject子类和ExpandoObj

c# - C# 的 TIBCO EMS 故障转移重新连接 (TIBCO.EMS.dll)

我们有一个TIBCOEMS解决方案,它在2-4服务器环境中使用内置服务器故障转移。如果TIBCO管理员将服务从一台EMS服务器故障转移到另一台,则连接应该会在EMS服务级别自动转移到新服务器。对于我们使用EMS服务的C#应用程序,这不会发生-我们的用户连接在故障转移后不会转移到新服务器,我们不确定原因。我们的应用程序仅在启动时连接到EMS,因此如果TIBCO管理员在用户启动我们的应用程序后发生故障转移,他们的用户需要重新启动应用程序才能重新连接到新服务器(我们的EMS连接使用的服务器字符串包括所有4生产EMS服务器-如果第一次尝试失败,它将移动到字符串中的下一个服务器并再次尝试。我正在

c# - 获取首先实现接口(interface)但没有派生类的所有 c# 类型

与Gettingalltypesthatimplementaninterface有关我们可以轻松获取实现特定接口(interface)的Assembly中的所有Type。例子:interfaceIFace{}classFace:IFace{}classTwoFace:Face{}对于这个结构,我们将通过反射找到两个类,即所有从第一个实现派生的类,使用GetTypes().Where(type=>type.GetInterfaces().Contains(typeof(IFace)))所以问题是:如何将结果限制为最初实现接口(interface)的基类?!在这个例子中:只有类类型Face