Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过合并扩展封闭的DLL?_C#_Dll_Merge_Extend - Fatal编程技术网

C# 通过合并扩展封闭的DLL?

C# 通过合并扩展封闭的DLL?,c#,dll,merge,extend,C#,Dll,Merge,Extend,我目前面临着一个扩展库dll的问题,该库dll对最终用户关闭。 该库有一个类: public partial Extender { ... } 这在名义上是扩展要发生的地方,但最终用户当然不能直接 用自己的类替换此类。 为了测试一种方法,我构建了一个包含3个项目的解决方案: MainLibrary—类库项目,包含名义上对最终用户关闭的代码。包含: public partial Extender { ... } 该库中的代码实例化并使用扩

我目前面临着一个扩展库dll的问题,该库dll对最终用户关闭。 该库有一个类:

 public partial Extender
 {
     ...
 }
这在名义上是扩展要发生的地方,但最终用户当然不能直接 用自己的类替换此类。 为了测试一种方法,我构建了一个包含3个项目的解决方案:

MainLibrary—类库项目,包含名义上对最终用户关闭的代码。包含:

    public partial Extender
    {
        ...
    }
该库中的代码实例化并使用扩展程序类,该类实际上是空的。 ExtenderLibrary—一个类库项目,引用MainLibrary,包含:

    public partial Extender
    {
        ...
        //  contains methods that the eventual user wants to invoke
        ...
    }
我希望这个类成为MainLibrary:Extender的“具体实现”,并像“原始”类一样运行

ConsoleApp-引用MainLibrary的控制台应用程序,旨在作为 验证我是否可以在Extender中调用这些方法

我目前的方法是基于 ,虽然在我的例子中,我没有混合语言场景,基本上是尝试合并MainLibrary和Extender Library,以便 通过其部分kwd的单一合并形式的扩展器 然后可以通过ConsoleApp进行寻址。 我没有成功地使这种合并方法发挥作用

是否有人对我如何实现我在这里想要的东西有一些见解?

所以您希望分发Extender Library供其他人使用,而不需要包括MainLibrary?因为最终用户看不到这一切。你是否意识到partial只是c编译器不理解的一个关键字?在已编译的dll中,分部的概念不再可见。partial关键字表示可以在命名空间中定义类、结构或接口的其他部分。所有零件都必须使用partial关键字。所有部件必须在编译时可用,以形成最终类型。从…起