使用反射,我可以列出#region
中的字段吗?
否则,你能想到其他方法来实现一个类的字段“分组”来枚举它们吗?使用属性标记所有字段不是一个选项,因为这实际上是我想要下载的。
答案 0 :(得分:7)
如果您需要对某些字段进行分组,则它们可能属于自己的类。
相应地重构您的代码,您可以轻松枚举每个组中的字段,因为每个组现在都有自己的类。
答案 1 :(得分:1)
我不认为这是可能的,因为区域是预处理器指令而且不会被编译。
也许你应该包括你想要实现的样本。我认为有一个比使用地区更好的解决方案。 那么每个区域使用一个类并创建一个属性呢?
答案 2 :(得分:-1)
在我的具体情况中,我考虑使用区域作为序列化的接口。目前我正在使用属性,但是你想提供替代方法,以分组的形式提供语法糖。
两种可能足够的解决方案: 1)T4模板,用于生成添加必要属性的部分类逻辑。换句话说,T4保持分组逻辑。值得认真考虑,这可能太难看了。
2)预构建更改代码的事件,以确保区域分组成员使用必要的属性进行标记。这是妥协的一种方式。
对听到任何预构建区域操作技术非常感兴趣。
响应子类的想法,这不是一个很好的选择,因为它会增加合同接口的复杂性,或者意味着创建额外的属性来访问这些强制子类。