我可以在C#中更改函数/方法定义吗?(重新定义,而不是替代)
有没有办法在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()的行为我需要这些更改
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来加载?是的。当它被签署后,你最好能控制所有相关的部分。乐是可能的,但看起来诺兹很简单: