1

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

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

4

3 回答 3

8

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

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

于 2013-01-16T15:39:52.803 回答
2

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

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

于 2013-01-16T15:40:07.957 回答
-1

杰罗姆,我想我会重新提出你的问题,因为我有同样的要求。

在我的具体情况下,我正在考虑使用区域作为序列化的接口。目前我正在使用属性,但就像您想提供替代方案一样,语法糖以分组的形式出现。

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

2) 更改代码的预构建事件,以确保区域分组成员被标记有必要的属性。这是一种折衷方案。

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

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

于 2017-11-05T23:59:54.430 回答