我正在使用包含对象及其扩展的基类的二进制文件。我想实例化对象,但是要使用我自己的基类实现。我可以在基类中看到我需要知道扩展的方法。
问题是基类实现了一个名为“WriteFeed”的方法,该方法需要网络连接并将数据写入网络流。我希望它能够使用我的实现,因此WriteFeed可以将数据转储到控制台。
我无法改变现有的二进制文件,只能改变我使用和实例化它的方式。
答案 0 :(得分:0)
我唯一的建议是使用复合方法。我不确定这是否符合您的需求,或者您具有可见性访问权限,但它可能有效。
public class SomeBaseClassInSomeBinary
{
protected virtual void Method1(...) {}
protected virtual void WriteFeed (...) {}
}
public class SomeClassInSomeBinary: SomeBaseClassInSomeBinary
{
protected override void Method1(...) { base.Method1(...); }
protected override void WriteFeed (...) { base.WriteFeed (...); }
}
// **** your code
public class MyCode: SomeBaseClassInSomeBinary
{
private SomeClassInSomeBinary Composite = new SomeClassInSomeBinary();
protected override void Method1(...) { Composite.Method1(...); }
protected override void WriteFeed (...) { your implementation }
}
}
您现在需要做的只是使用您的对象。
希望这有帮助。