弄清楚反射场是否是易变的

时间:2013-02-03 09:17:56

标签: c# reflection volatile

我正在尝试使用反射从一个程序集中挖掘信息,而我想知道的事情之一(假设它实际上是一件要知道的事情)就是一个字段是否是易变的。换句话说,如果我有以下课程

public class Test {
    public volatile int Counter = 0;
}

有什么方法可以(通过反思)找出Test.Counter字段确实是不稳定的?或者根本就没有出口?

1 个答案:

答案 0 :(得分:5)

您可以使用GetRequiredCustomModifiers方法:

var field = typeof(Test).GetField("Counter");
bool isVolatile = field
    .GetRequiredCustomModifiers()
    .Any(x => x == typeof(IsVolatile));