覆盖第三方库的私有方法

时间:2016-02-12 17:17:43

标签: c# .net

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

例如,我有一个类似的类:

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

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

有没有办法覆盖Calculate()方法?

原因: 在Calculate()方法里面我需要修改一些逻辑

1 个答案:

答案 0 :(得分:5)

不,C#中没办法。私有方法仅适用于该类。当某些东西被定义为私有时,因为它是该类的内部。你能做的是:

1)创建一个扩展Calculator类的类。

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