c# - 覆盖第三方库的私有(private)方法

标签 c# .net

有没有办法覆盖第三方库中的私有(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/

相关文章:

.NET Framework、.NET Core、.NET Native、DNX、Core CLR、CIL、PCL - 简单解释一下?

c# - 使用MVVM(无任何代码)且无导航时,单击按钮时更改 View

c# - 我可以使用 Visual Studio 2013 (在 Windows 8.1 上运行)创建树莓派 2 应用程序(RPI2 运行 Windows 10 )吗?

C# 字节数组到 powershell

c# - 远离主要构造函数

c# - 通用列表未插入到 MongoDB 中

c# - 以特定顺序遍历文件夹中的文件?

c# - 什么时候在 C# 中触发垃圾回收?

c# - 为什么字符串可以为空?

c# - 获取分配给服务器的所有IP