我目前面临的问题是扩展了一个对最终用户关闭的库(dll)。 该库有一个类:
public partial Extender
{
...
}
名义上是扩展意图发生的地方,但当然最终用户不能直接进行扩展 用自己的类替换这个类。 为了测试一种方法,我已经构建了一个包含3个项目的解决方案:
MainLibrary - 一个类库项目,包含名义上对最终用户关闭的代码。包含:
public partial Extender
{
...
}
此库中的代码实例化并使用Extender类,这对所有意图和目的都是空的。 ExtenderLibrary - 一个类库项目,引用MainLibrary,包含:
public partial Extender
{
...
// contains methods that the eventual user wants to invoke
...
}
我希望这个类成为MainLibrary的“具体实现”:Extender,就像它是“原始”类一样运行。
ConsoleApp - 一个引用MainLibrary的控制台应用程序,旨在作为驱动程序 验证我可以调用Extender中的方法
我目前的做法是基于blog of Scott Hanselmann ,虽然在我的情况下我没有混合语言场景,基本上尝试合并MainLibrary和ExtenderLibrary所以 单一合并形式(Extender通过其部分kwd) 然后可以通过ConsolApp解决 我没有成功地使这种合并方法起作用。
有没有人对如何实现我想要的东西有一些见解?