public sealed class ZoneMembershipCondition : IMembershipCondition, System.Security.ISecurityEncodable, System.Security.ISecurityPolicyEncodable, IConstantMembershipCondition { // Public Constructors public ZoneMembershipCondition(System.Security.SecurityZone zone); // Public Instance Properties public SecurityZone SecurityZone{set; get; } // Public Instance Methods public bool Check(Evidence evidence); // implements IMembershipCondition public IMembershipCondition Copy( ); // implements IMembershipCondition public override bool Equals(object o); // overrides object public void FromXml(System.Security.SecurityElement e); // implements System.Security.ISecurityEncodable public void FromXml(System.Security.SecurityElement e, PolicyLevel level); // implements System.Security.ISecurityPolicyEncodable public override int GetHashCode( ); // overrides object public override string ToString( ); // overrides object public SecurityElement ToXml( ); // implements System.Security.ISecurityEncodable public SecurityElement ToXml(PolicyLevel level); // implements System.Security.ISecurityPolicyEncodable }
The ZoneMembershipCondition class uses the value of Zone evidence to determine if an assembly or application domain qualifies for membership of a CodeGroup. The SecurityZone property contains a member of the System.Security.SecurityZone enumeration that identifies the security zone required for membership. The initial value of SecurityZone is set in the ZoneMembershipCondition constructor.
When policy resolution calls the Check( ) method, the ZoneMembershipCondition enumerates the provided Evidence collection to determine if it contains Zone evidence. If so, the ZoneMembershipCondition compares the value of its SecurityZone property with the value of the Zone.SecurityZone property. If the two values match, the assembly or application domain is granted membership of the CodeGroup.