有没有办法覆盖第三方库中的私有方法?
例如,我有一个类似的类:
// Decompiled source
public class Calculator{
protected override Status Execute(){
this.Calculate();
...
return Status.Ok;
}
private int Calcualte(){
// need to overwrite this method
}
}
有没有办法覆盖Calculate()方法?
原因: 在Calculate()方法里面我需要修改一些逻辑
答案 0 :(得分:5)
不,C#中没办法。私有方法仅适用于该类。当某些东西被定义为私有时,因为它是该类的内部。你能做的是:
1)创建一个扩展Calculator类的类。
2)覆盖Execute方法并重用Calculator类中的部分代码。