C#在运行时使用反射重写object.ToString()

C#在运行时使用反射重写object.ToString(),c#,.net,reflection,runtime,overriding,C#,.net,Reflection,Runtime,Overriding,我想在运行时使用反射覆盖结构的object.ToString()? 我需要在一些没有代码的.dll中更改一个结构,添加新的或修改现有的覆盖。所以我想在运行时做这件事 可能吗?这方面的教程会很好吗? 如果答案为否,那么:类的答案是否不同?您不能使用反射更改现有类或结构的实现。抱歉。您无法使用反射更改现有类或结构的实现。抱歉。仅仅使用扩展方法toString()不是更容易吗 我想这就是扩展方法的设计目的……仅仅使用扩展方法toString()不是更容易吗 我想这就是扩展方法设计的目的…想想动态代理比

我想在运行时使用反射覆盖结构的object.ToString()? 我需要在一些没有代码的.dll中更改一个结构,添加新的或修改现有的覆盖。所以我想在运行时做这件事

可能吗?这方面的教程会很好吗?
如果答案为否,那么:类的答案是否不同?

您不能使用反射更改现有类或结构的实现。抱歉。

您无法使用反射更改现有类或结构的实现。抱歉。

仅仅使用扩展方法
toString()
不是更容易吗


我想这就是扩展方法的设计目的……

仅仅使用扩展方法
toString()
不是更容易吗


我想这就是扩展方法设计的目的…

想想
动态代理
比如
Linfu
或者
Castle
,尽管我不这么认为;我不知道它可以应用于结构。你为什么需要这样做?想想
动态代理
,比如
Linfu
Castle
,尽管我不知道;我不知道它可以应用于结构。为什么需要这样做?不,我不想添加ToString,我需要更改现有ToString。如果这是类而不是结构,这个答案会更改吗?不,我不想添加ToString,我需要更改现有ToString。如果这是类而不是结构,这个答案会更改吗?
public static class ExtensionMethods
{
    public static string ToStringNew(MyStruct str)
    {
        return ...;
    }
}