覆盖第三方库的私有方法

ShaneKm

有没有办法覆盖第三方库中的私有方法?

例如,我有一个像这样的课程:

// Decompiled source
public class Calculator{
   protected override Status Execute(){
      this.Calculate();
      ...
      return Status.Ok;
   }

   private int Calcualte(){
       // need to overwrite this method
   }
}

有什么方法可以覆盖Calculate()方法吗?

原因:在Calculate()方法内部,我需要修改一些逻辑

弗朗西斯科·金斯坦

不,C#无法实现。私有方法仅在该类中可用。当某些东西被定义为私有时,是因为它在该类的内部。您可以做的是:

1)创建一个扩展计算器类的类。

2)覆盖Execute方法并重用您在Calculator类中拥有的部分代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章