C# 如何在运行时创建setter?

C# 如何在运行时创建setter?,c#,reflection,properties,runtime,setter,C#,Reflection,Properties,Runtime,Setter,有没有办法在属性对象中添加setter,比如 public class MyClass { public int Test { get; } } 我想稍后在运行时使用反射或类似的方法来实现它。简短版本:否 你不能在.NET中复制补丁类型,所以不,你不能这样做。如果现有的集合机制是受保护的,那么最接近的方法就是子类化并使用成员隐藏来使用公共的集合重新声明属性。然而,这只适用于引用子类的代码-因此:没什么意义。我认为没有setter就无法编译这样的自动属性为什么没有私有setter?问题是

有没有办法在属性对象中添加setter,比如

public class MyClass
{
    public int Test { get; }
}
我想稍后在运行时使用反射或类似的方法来实现它。

简短版本:否


你不能在.NET中复制补丁类型,所以不,你不能这样做。如果现有的集合机制是受保护的,那么最接近的方法就是子类化并使用成员隐藏来使用公共的集合重新声明属性。然而,这只适用于引用子类的代码-因此:没什么意义。

我认为没有setter就无法编译这样的自动属性为什么没有私有setter?问题是MyClass实际上不是我的类:)它是在我的引用中编译的DLL这根本不可能,也许我可以更改现有的设置getter?@user853574不,你不能