PrincipalPermission.Intersect Method (IPermission)

 

Creates and returns a permission that is the intersection of the current permission and the specified permission.

Namespace:   System.Security.Permissions
Assembly:  mscorlib (in mscorlib.dll)

public IPermission Intersect(
	IPermission target
)

Parameters

target
Type: System.Security.IPermission

A permission to intersect with the current permission. It must be of the same type as the current permission.

Return Value

Type: System.Security.IPermission

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.

Exception Condition
ArgumentException

The target parameter is not null and is not an instance of the same class as the current permission.

Because two users never intersect, this method is not useful for PrincipalPermission. For example,

PrincipalPermission ppBob = new PrincipalPermission("Bob", "Administrator");
PrincipalPermission ppLouise = new PrincipalPermission("Louise", "Administrator");
IPermission pp1 = ppBob.Intersect(ppLouise);

is equivalent to

IPermission pp1 = new PrincipalPermission("", "Administrator");

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.

.NET Framework
Available since 1.1
Return to top
Show: