我正在使用一个包含对象及其扩展的基类的二进制文件。我想实例化该对象,但要让它使用我自己的基类实现。我可以在基类中看到我需要扩展哪些方法。
问题是基类实现了一个名为“WriteFeed”的方法,该方法需要网络连接并将数据写入网络流。我希望它使用我的实现,以便 WriteFeed 可以将数据转储到控制台。
我无法更改现有的二进制文件,只能更改我使用和实例化它的方式。
我正在使用一个包含对象及其扩展的基类的二进制文件。我想实例化该对象,但要让它使用我自己的基类实现。我可以在基类中看到我需要扩展哪些方法。
问题是基类实现了一个名为“WriteFeed”的方法,该方法需要网络连接并将数据写入网络流。我希望它使用我的实现,以便 WriteFeed 可以将数据转储到控制台。
我无法更改现有的二进制文件,只能更改我使用和实例化它的方式。
我唯一的建议是使用复合方法。我不确定这是否会满足您的需求或者您是否具有可见性访问权限,但它可能会起作用。
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 }
}
}
您现在需要做的就是使用您的对象。
希望这可以帮助。