﻿<?xml version="1.0" encoding="utf-8"?><Type Name="PrincipalPermission" FullName="System.Security.Permissions.PrincipalPermission"><TypeSignature Maintainer="auto" Language="C#" Value="public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IBuiltInPermission, System.Security.Permissions.IUnrestrictedPermission" /><TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed beforefieldinit PrincipalPermission extends System.Object implements class System.Security.IPermission, class System.Security.ISecurityEncodable, class System.Security.Permissions.IBuiltInPermission, class System.Security.Permissions.IUnrestrictedPermission" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.Security.IPermission</InterfaceName></Interface><Interface><InterfaceName>System.Security.Permissions.IBuiltInPermission</InterfaceName></Interface><Interface><InterfaceName>System.Security.Permissions.IUnrestrictedPermission</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>By passing identity information (user name and role) to the constructor, <see cref="T:System.Security.Permissions.PrincipalPermission" /> can be used to demand that the identity of the active principal matches this information.</para><para>To match the active <see cref="T:System.Security.Principal.IPrincipal" /> and associated <see cref="T:System.Security.Principal.IIdentity" />, both the specified identity and role must match. If null identity string is used, it is interpreted as a request to match any identity. Use of null role string will match any role. By implication, passing null parameter for <paramref name="name" /> or <paramref name="role" /> to <see cref="T:System.Security.Permissions.PrincipalPermission" /> will match the identity and roles in any <see cref="T:System.Security.Principal.IPrincipal" />. It is also possible to construct a <see cref="T:System.Security.Permissions.PrincipalPermission" /> that only determines whether the <see cref="T:System.Security.Principal.IIdentity" /> represents an authenticated or unauthenticated entity. In this case, <paramref name="name" /> and <paramref name="role" /> are ignored.</para><para>Unlike most other permissions, <see cref="T:System.Security.Permissions.PrincipalPermission" /> does not extend <see cref="T:System.Security.CodeAccessPermission" />. It does, however, implement the <see cref="T:System.Security.IPermission" /> interface. This is because <see cref="T:System.Security.Permissions.PrincipalPermission" /> is not a code access permission; that is, it is not granted based on the identity of the executing assembly. Instead, it allows code to perform actions (<see cref="M:System.Security.Permissions.PrincipalPermission.Demand" />, <see cref="M:System.Security.Permissions.PrincipalPermission.Union(System.Security.IPermission)" />, <see cref="M:System.Security.Permissions.PrincipalPermission.Intersect(System.Security.IPermission)" />, and so on) against the current user identity in a manner consistent with the way those actions are performed for code access and code identity permissions.</para><block subset="none" type="note"><para>Prior to a demand for principal permission it is necessary to set the current application domain's principal policy to the enumeration value <see cref="F:System.Security.Principal.PrincipalPolicy.WindowsPrincipal" />. By default, the principal policy is set to <see cref="F:System.Security.Principal.PrincipalPolicy.UnauthenticatedPrincipal" />. If you do not set the principal policy to <see cref="F:System.Security.Principal.PrincipalPolicy.WindowsPrincipal" />, a demand for principal permission will fail. The following code should be executed before the principal permission is demanded: </para><para>AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Allows checks against the active principal (see <see cref="T:System.Security.Principal.IPrincipal" />) using the language constructs defined for both declarative and imperative security actions. This class cannot be inherited.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PrincipalPermission (System.Security.Permissions.PermissionState state);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="state" Type="System.Security.Permissions.PermissionState" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>None matches only the unauthenticated principal (<see cref="P:System.Security.Permissions.PrincipalPermissionAttribute.Name" /> is the empty string (""), no <see cref="P:System.Security.Permissions.PrincipalPermissionAttribute.Role" />, <see cref="P:System.Security.Permissions.PrincipalPermissionAttribute.Authenticated" /> is false). Unrestricted matches all principals (<see cref="P:System.Security.Permissions.PrincipalPermissionAttribute.Name" /> is null, <see cref="P:System.Security.Permissions.PrincipalPermissionAttribute.Role" /> is null).</para><block subset="none" type="note"><para>This constructor is included for consistency with the design of other permissions, but is not useful in practice.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.PrincipalPermission" /> class with the specified <see cref="T:System.Security.Permissions.PermissionState" />.</para></summary><param name="state"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Security.Permissions.PermissionState" /> values. </param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PrincipalPermission (string name, string role);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string name, string role) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="name" Type="System.String" /><Parameter Name="role" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Both the <paramref name="name" /> parameter and the <paramref name="role" /> parameter must match for this permission to match the active <see cref="T:System.Security.Principal.IPrincipal" /> and associated <see cref="T:System.Security.Principal.IIdentity" />. Set <paramref name="name" /> to null to check for any user in a role.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.PrincipalPermission" /> class for the specified <paramref name="name" /> and <paramref name="role" />.</para></summary><param name="name"><attribution license="cc4" from="Microsoft" modified="false" />The name of the <see cref="T:System.Security.Principal.IPrincipal" /> object's user. </param><param name="role"><attribution license="cc4" from="Microsoft" modified="false" />The role of the <see cref="T:System.Security.Principal.IPrincipal" /> object's user (for example, Administrator). </param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PrincipalPermission (string name, string role, bool isAuthenticated);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string name, string role, bool isAuthenticated) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="name" Type="System.String" /><Parameter Name="role" Type="System.String" /><Parameter Name="isAuthenticated" Type="System.Boolean" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Both the <paramref name="name" /> parameter and the <paramref name="role" /> parameter must match for this permission to match the active <see cref="T:System.Security.Principal.IPrincipal" /> and associated <see cref="T:System.Security.Principal.IIdentity" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.PrincipalPermission" /> class for the specified <paramref name="name" />, <paramref name="role" />, and authentication status.</para></summary><param name="name"><attribution license="cc4" from="Microsoft" modified="false" />The name of the <see cref="T:System.Security.Principal.IPrincipal" /> object's user. </param><param name="role"><attribution license="cc4" from="Microsoft" modified="false" />The role of the <see cref="T:System.Security.Principal.IPrincipal" /> object's user (for example, Administrator). </param><param name="isAuthenticated"><attribution license="cc4" from="Microsoft" modified="false" />true to signify that the user is authenticated; otherwise, false. </param></Docs></Member><Member MemberName="Copy"><MemberSignature Language="C#" Value="public System.Security.IPermission Copy ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Security.IPermission Copy() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.IPermission</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A copy of the permission represents the same principal and identity as the original permission.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates and returns an identical copy of the current permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A copy of the current permission.</para></returns></Docs></Member><Member MemberName="Demand"><MemberSignature Language="C#" Value="public void Demand ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Demand() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If no <see cref="T:System.Security.SecurityException" /> is raised, <see cref="M:System.Security.Permissions.PrincipalPermission.Demand" /> succeeds.</para><para>This method acts against the principal attached to the calling thread.</para><block subset="none" type="note"><para>Prior to calling the <see cref="M:System.Security.Permissions.PrincipalPermission.Demand" /> method, it is necessary to set the current application domain's principal policy to the enumeration value <see cref="F:System.Security.Principal.PrincipalPolicy.WindowsPrincipal" />. By default the principal policy is set to <see cref="F:System.Security.Principal.PrincipalPolicy.UnauthenticatedPrincipal" />. If you do not set the principal policy to <see cref="F:System.Security.Principal.PrincipalPolicy.WindowsPrincipal" />, a demand for principal permission will fail. The following code should be executed before the demand for principal permission occurs: </para><para>AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines at run time whether the current principal matches the principal specified by the current permission.</para></summary></Docs></Member><Member MemberName="Equals"><MemberSignature Language="C#" Value="public override bool Equals (object obj);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="obj" Type="System.Object" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>For more information, see <see cref="M:System.Object.Equals(System.Object)" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines whether the specified <see cref="T:System.Security.Permissions.PrincipalPermission" /> object is equal to the current <see cref="T:System.Security.Permissions.PrincipalPermission" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the specified <see cref="T:System.Security.Permissions.PrincipalPermission" /> is equal to the current <see cref="T:System.Security.Permissions.PrincipalPermission" /> object; otherwise, false.</para></returns><param name="obj"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Security.Permissions.PrincipalPermission" /> object to compare with the current <see cref="T:System.Security.Permissions.PrincipalPermission" />. </param></Docs></Member><Member MemberName="FromXml"><MemberSignature Language="C#" Value="public void FromXml (System.Security.SecurityElement elem);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void FromXml(class System.Security.SecurityElement elem) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="elem" Type="System.Security.SecurityElement" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reconstructs a permission with a specified state from an XML encoding.</para></summary><param name="elem"><attribution license="cc4" from="Microsoft" modified="false" />The XML encoding to use to reconstruct the permission. </param></Docs></Member><Member MemberName="GetHashCode"><MemberSignature Language="C#" Value="public override int GetHashCode ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters /><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The hash code for two instances of the same permission might be different, hence a hash code should not be used to compare two <see cref="T:System.Security.Permissions.PrincipalPermission" /> objects.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a hash code for the <see cref="T:System.Security.Permissions.PrincipalPermission" /> object that is suitable for use in hashing algorithms and data structures such as a hash table.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A hash code for the current <see cref="T:System.Security.Permissions.PrincipalPermission" /> object.</para></returns></Docs></Member><Member MemberName="Intersect"><MemberSignature Language="C#" Value="public System.Security.IPermission Intersect (System.Security.IPermission target);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Security.IPermission Intersect(class System.Security.IPermission target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.IPermission</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.Security.IPermission" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Because two users never intersect, this method is not useful for <see cref="T:System.Security.Permissions.PrincipalPermission" />. For example,</para><para>code reference: System.Security.Permissions.PrincipalPermission#1</para><para>is equivalent to</para><para>code reference: System.Security.Permissions.PrincipalPermission#2</para><para>because no identity can simultaneously represent both Bob and Louise. In effect, pp1.Demand() only succeeds if an unauthenticated principal (with name equal to the empty string ("")) is allowed to act in the Administrator role.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates and returns a permission that is the intersection of the current permission and the specified permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new permission that represents the intersection of the current permission and the specified permission. This new permission will be null if the intersection is empty.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />A permission to intersect with the current permission. It must be of the same type as the current permission. </param></Docs></Member><Member MemberName="IsSubsetOf"><MemberSignature Language="C#" Value="public bool IsSubsetOf (System.Security.IPermission target);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IsSubsetOf(class System.Security.IPermission target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.Security.IPermission" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The current permission is a subset of the specified permission if all demands that succeed for the current permission also succeed for the specified permission.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines whether the current permission is a subset of the specified permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the current permission is a subset of the specified permission; otherwise, false.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. </param></Docs></Member><Member MemberName="IsUnrestricted"><MemberSignature Language="C#" Value="public bool IsUnrestricted ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IsUnrestricted() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>An unrestricted <see cref="T:System.Security.Permissions.PrincipalPermission" /> matches any principal.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value indicating whether the current permission is unrestricted.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the current permission is unrestricted; otherwise, false.</para></returns></Docs></Member><Member MemberName="System.Security.Permissions.IBuiltInPermission.GetTokenIndex"><MemberSignature Language="C#" Value="int IBuiltInPermission.GetTokenIndex ();" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance int32 System.Security.Permissions.IBuiltInPermission.GetTokenIndex() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="ToString"><MemberSignature Language="C#" Value="public override string ToString ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates and returns a string representing the current permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A representation of the current permission.</para></returns></Docs></Member><Member MemberName="ToXml"><MemberSignature Language="C#" Value="public System.Security.SecurityElement ToXml ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Security.SecurityElement ToXml() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.SecurityElement</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates an XML encoding of the permission and its current state.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An XML encoding of the permission, including any state information.</para></returns></Docs></Member><Member MemberName="Union"><MemberSignature Language="C#" Value="public System.Security.IPermission Union (System.Security.IPermission other);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Security.IPermission Union(class System.Security.IPermission other) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.IPermission</ReturnType></ReturnValue><Parameters><Parameter Name="other" Type="System.Security.IPermission" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="M:System.Security.Permissions.PrincipalPermission.Union(System.Security.IPermission)" /> creates a permission representing the criteria of a given set of individual <see cref="T:System.Security.Permissions.PrincipalPermission" /> objects. It is useful for compactly representing a set of conditions to test. For example, with the declarations</para><para>code reference: System.Security.Permissions.PrincipalPermission#3</para><para>(ppBob.Union(ppLouise)).Demand() will succeed if the current principal represents Bob in the role of Administrator or Louise in the role of Administrator.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates a permission that is the union of the current permission and the specified permission.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new permission that represents the union of the current permission and the specified permission.</para></returns><param name="other"><attribution license="cc4" from="Microsoft" modified="false" />A permission to combine with the current permission. It must be of the same type as the current permission. </param></Docs></Member></Members></Type>