有没有办法覆盖第三方库中的私有(private)方法?
例如我有一个像这样的类(class):
// 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# 中没有办法。私有(private)方法仅在该类中可用。当某些东西被定义为私有(private)时,这是因为它是该类的内部。你可以做的是:
1) 创建一个扩展 Calculator 类的类。
2) 重写 Execute 方法并重用 Calculator 类中的部分代码。
关于c# - 覆盖第三方库的私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35368547/