0

我正在使用一个包含对象及其扩展的基类的二进制文件。我想实例化该对象,但要让它使用我自己的基类实现。我可以在基类中看到我需要扩展哪些方法。

问题是基类实现了一个名为“WriteFeed”的方法,该方法需要网络连接并将数据写入网络流。我希望它使用我的实现,以便 WriteFeed 可以将数据转储到控制台。

我无法更改现有的二进制文件,只能更改我使用和实例化它的方式。

4

1 回答 1

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 }
}

}

您现在需要做的就是使用您的对象。

希望这可以帮助。

于 2013-04-09T01:18:00.563 回答