我有一个带有 ReflectionHelper 类的可移植类库,其中包含一组方便的方法来执行反射相关操作。
我将其中许多方法标记为纯方法,但后来在另一段代码中,我注意到一个警告,GetTypeInfo()
它本身并不纯。我知道对于新的反射 api 调用GetTypeInfo()
会导致加载程序集,包含该程序集的类型和缺少该程序集会导致异常。
现在我对MSDN 上PureAttribute文档中的纯度定义感到困惑:
表示一个类型或方法是纯的,也就是说,它不会进行任何可见的状态更改。
什么变化可以称为可见的?装配加载是否属于此类别?