我有一个DLL,我们买了,我无法访问它的来源。但是,对于我现在面临的问题,我被告知我必须继承DLL中的一个类,并覆盖其中一个方法。
我尝试了它并且正如预期的那样效果很好。我现在的问题是我有很多类我需要做同样的事情,并且不想重复相同的代码这么多次。尽管所有这些类都继承自同一个DLL类,但在所有这些类中编写相同的代码对我来说并不好。 这是一个类的代码:
public class MyClass : DllClass
{
protected override void MethodFromDll()
{
//here I inserted my code and it works ok
}
}
由于
答案 0 :(得分:3)
为什么不创建一个派生自DllClass
的抽象类并覆盖那里的方法,然后从中派生出其他类?
public abstract class MyClassBase : DllClass
{
protected override void MethodFromDll()
{
//here I inserted my code and it works ok
}
}
...
public class MyClass : MyClassBase
{
// Whatever else you need
}
这假设你首先需要继承 - 你肯定需要有多个派生类,或者你有很多类通过组合使用MyClass
吗?