使用反射,我可以列出#region中的字段吗?

时间:2013-01-16 15:37:01

标签: c#

使用反射,我可以列出#region中的字段吗?

否则,你能想到其他方法来实现一个类的字段“分组”来枚举它们吗?使用属性标记所有字段不是一个选项,因为这实际上是我想要下载的。

3 个答案:

答案 0 :(得分:7)

如果您需要对某些字段进行分组,则它们可能属于自己的类。

相应地重构您的代码,您可以轻松枚举每个组中的字段,因为每个组现在都有自己的类。

答案 1 :(得分:1)

我不认为这是可能的,因为区域是预处理器指令而且不会被编译。

也许你应该包括你想要实现的样本。我认为有一个比使用地区更好的解决方案。 那么每个区域使用一个类并创建一个属性呢?

答案 2 :(得分:-1)

杰罗姆,我以为我会恢复你的问题,因为我有同样的要求。

在我的具体情况中,我考虑使用区域作为序列化的接口。目前我正在使用属性,但是你想提供替代方法,以分组的形式提供语法糖。

两种可能足够的解决方案: 1)T4模板,用于生成添加必要属性的部分类逻辑。换句话说,T4保持分组逻辑。值得认真考虑,这可能太难看了。

2)预构建更改代码的事件,以确保区域分组成员使用必要的属性进行标记。这是妥协的一种方式。

对听到任何预构建区域操作技术非常感兴趣。

响应子类的想法,这不是一个很好的选择,因为它会增加合同接口的复杂性,或者意味着创建额外的属性来访问这些强制子类。