C# 通过合并扩展封闭的DLL?
我目前面临着一个扩展库dll的问题,该库dll对最终用户关闭。 该库有一个类:C# 通过合并扩展封闭的DLL?,c#,dll,merge,extend,C#,Dll,Merge,Extend,我目前面临着一个扩展库dll的问题,该库dll对最终用户关闭。 该库有一个类: public partial Extender { ... } 这在名义上是扩展要发生的地方,但最终用户当然不能直接 用自己的类替换此类。 为了测试一种方法,我构建了一个包含3个项目的解决方案: MainLibrary—类库项目,包含名义上对最终用户关闭的代码。包含: public partial Extender { ... } 该库中的代码实例化并使用扩
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关键字。所有部件必须在编译时可用,以形成最终类型。从…起