【问题标题】:C# How to create setter in runtime?C#如何在运行时创建setter?
【发布时间】:2014-08-13 13:01:14
【问题描述】:

有没有办法在 Property 对象中添加一个 setter,比如

public class MyClass
{
    public int Test { get; }
}

我想稍后在 runtime 使用反射或类似的东西来做。

【问题讨论】:

  • 我不认为没有setter你可以编译这样一个自动属性
  • 为什么不是私人二传手?
  • 问题是 MyClass 实际上不是我的类 :) 它是在我的参考文献中编译的 DLL
  • 这根本不可能

标签: c# reflection properties runtime setter


【解决方案1】:

短版:没有。

你不能在 .NET 中对类型进行猴子补丁,所以不,你不能这样做。如果现有的设置机制是protected,那么您可以做的最接近的做法是子类化并使用成员隐藏重新声明具有公共set 的属性。但是,这仅适用于引用子类的代码 - 所以:意义不大。

【讨论】:

  • 所以也许我可以改变一个现有的吸气剂?
  • @user853574 不,你不能
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-29
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多