UnionCodeGroup.Resolve(Evidence) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
对一组证据解析代码组及其子代的策略。
public:
override System::Security::Policy::PolicyStatement ^ Resolve(System::Security::Policy::Evidence ^ evidence);
public override System.Security.Policy.PolicyStatement Resolve (System.Security.Policy.Evidence evidence);
override this.Resolve : System.Security.Policy.Evidence -> System.Security.Policy.PolicyStatement
Public Overrides Function Resolve (evidence As Evidence) As PolicyStatement
参数
- evidence
- Evidence
程序集的证据。
返回
由具有可选特性的代码组授予的权限组成的策略声明;或者,如果代码组不适用(成员条件与指定的证据不匹配),则为 null
。
例外
evidence
参数为 null
。
将不止一个代码组(包括父代码组和任何子代码组)标记为 Exclusive。
注解
给定要加载程序集的证据,此方法通过首先根据指定证据检查成员身份条件来评估代码组。 如果存在匹配项,此方法将返回代码组的策略语句,包括子代码组的计算。
对于联合代码组,成员身份条件与证据匹配的所有子代码组也会解析,所有生成的策略语句都与父联合代码组的策略语句形成联合。 每个子代码组类型确定其子组的应用方式,具体取决于其各自 Resolve 方法的工作方式。
.NET Framework安全系统使用Resolve策略级别来确定要从生成的策略语句和程序集上的代码请求向加载的代码授予哪些权限。
如果成员资格条件与指定证据不匹配,此方法将返回 null
;否则,它将 (P) 等于代码组的策略语句返回的权限集,然后继续。 对于每个子代码组, 方法使用相同的证据解析代码组;如果结果不是 null
,则会将 P 设置为 P 与子代码组的策略语句的并集。 然后,它返回 P,它现在是当前代码组的策略语句和所有子组策略语句的并集。