【问题标题】:Reflection and group variables [duplicate]反射和组变量[重复]
【发布时间】:2020-03-27 17:21:46
【问题描述】:

我还不确定最好的方法是什么,我发现您可以将属性分配给类,但无法将属性分配给类的变量。

例子

[attribute author....]
public class ABC
    int variable1;

我正在寻找的是为variable1分配一个属性。

像这样的

[attribute author....]
public class ABC
    [attribute or something to tie to variable1]
    int variable1;

所以当我使用反射来访问类时,我可以从每个变量中获取额外的信息。这样做的原因是我正在创建一个编辑器,我想在编辑器中对变量进行分组,但我不想硬编码变量名称或保留应该分组的变量列表。

知道如何制作这样的东西吗?

【问题讨论】:

  • 当您说变量时,您实际上是指类中的成员变量吗?
  • 换句话说,一个字段
  • 是的,一个字段,一个成员类,或者一个属性,用户可以设置的任何东西都应该有一个额外的属性/属性或者其他东西,这样我的编辑就可以选择这些额外的细节来展示
  • “无法将属性分配给类的变量” -- 不正确。查看标记的重复项。
  • 谢谢 Peter Duniho,这解决了我的问题。刚刚测试并运行良好!

标签: c# reflection attributes


【解决方案1】:

class_name.GetType().GetFields() 返回类变量又名字段。 使用字典来存储这些字段的属性。

【讨论】:

  • 我已经这样做了,但我想将我的字段分组以进行演示,例如有一个类的字段 [DataMember] public bool drawTop { get;放; } = 真; [DataMember] public bool drawBottom { get;放; } = 真; [DataMember] public bool drawLeft { get;放; } = 真; [DataMember] public bool drawRight { get;放; } = 真;当我从反射中获取它们时,我不知道是否可以在编辑器中对它们进行分组或将它们显示在不同的行中
猜你喜欢
  • 2014-08-06
  • 1970-01-01
  • 2010-12-18
  • 1970-01-01
  • 1970-01-01
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
  • 2012-06-28
相关资源
最近更新 更多