我可以在C#中更改函数/方法定义吗?(重新定义,而不是替代)

我可以在C#中更改函数/方法定义吗?(重新定义,而不是替代),c#,C#,有没有办法在C#中重新定义函数定义/方法 情况: 修改其他人的代码,他们有: namespace TheirCode { public static class SomeUtility { public static void A(this Thing thing) { //do something I want to change } } } 我可以加载另一个dll,允许我插入自己的代码…但我想更改a_thing.a()的行为我需要这些更改

有没有办法在C#中重新定义函数定义/方法

情况:

修改其他人的代码,他们有:

namespace TheirCode 
{
  public static class SomeUtility
  {
    public static void A(this Thing thing) 
    {
      //do something I want to change
    }
  }
}
我可以加载另一个dll,允许我插入自己的代码…但我想更改
a_thing.a()的行为我需要这些更改来影响所有
事物,而不仅仅是我可能创建的任何衍生
新事物

我可以重写方法定义吗?我可以用另一种方式改变这种行为吗


谢谢

哦,哇,在另一个问题中有一系列答案:

和谐的答案看起来很棒


我不知道为什么我在搜索的时候找不到它;也许这个问题的搜索词会帮助其他人。

您不清楚
A()
是否是静态的。这有点重要。他们的集会有签名吗?开源?简短回答:不。不需要反编译和重新编译。在这里,重新编译需要将作者的.dll替换为我自己的.dll,而不仅仅是创建我自己的附加.dll来加载?是的。当它被签署后,你最好能控制所有相关的部分。乐是可能的,但看起来诺兹很简单: