Export (0) Print
Expand All

DnsPermission.Intersect Method

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

Namespace:  System.Net
Assembly:  System (in System.dll)

'Declaration
Public Overrides Function Intersect ( _
	target As IPermission _
) As IPermission

Parameters

target
Type: System.Security.IPermission

The DnsPermission instance to intersect with the current instance.

Return Value

Type: System.Security.IPermission
A DnsPermission instance that represents the intersection of the current DnsPermission instance with the specified DnsPermission instance, or Nothing if the intersection is empty. If both the current instance and target are unrestricted, this method returns a new DnsPermission instance that is unrestricted; otherwise, it returns Nothing.

Implements

IPermission.Intersect(IPermission)

ExceptionCondition
ArgumentException

target is neither a DnsPermission nor Nothing.

The Intersect method returns a DnsPermission instance that allows the access defined by both the current DnsPermission instance and the specified DnsPermission instance. Any demand must pass both permissions to pass their intersection.

The following example creates a permission instance that is the intersection of the current permission instance and the specified permission instance.

Public Sub useDns()
    ' Create a DnsPermission instance.
    dnsPermission1 = New DnsPermission(PermissionState.Unrestricted)
    dnsPermission2 = New DnsPermission(PermissionState.None)
    ' Check for permission.
    dnsPermission1.Demand()
    dnsPermission2.Demand()
    Console.WriteLine("Attributes and Values of first DnsPermission instance :")
    PrintKeysAndValues(dnsPermission1.ToXml().Attributes)
    Console.WriteLine("Attributes and Values of second DnsPermission instance :")
    PrintKeysAndValues(dnsPermission2.ToXml().Attributes)
    Console.WriteLine("Union of both instances : ")
    MyUnion()
    Console.WriteLine("Intersection of both instances : ")
    MyIntersection()
End Sub 'useDns

Private Sub PrintKeysAndValues(myList As Hashtable)
    ' Get the enumerator that can iterate through the hash table. 
    Dim myEnumerator As IDictionaryEnumerator = myList.GetEnumerator()
    Console.WriteLine(ControlChars.Tab + "-KEY-" + ControlChars.Tab + "-VALUE-")
    While myEnumerator.MoveNext()
        Console.WriteLine(ControlChars.Tab + "{0}:" + ControlChars.Tab + "{1}", myEnumerator.Key, myEnumerator.Value)
    End While
    Console.WriteLine()
End Sub 'PrintKeysAndValues

Private Sub MyIntersection()
    ' Create a DnsPermission instance that is the intersection of the current 
    ' DnsPermission instance and the specified DnsPermission instance. 
    Dim permission As DnsPermission = CType(dnsPermission1.Intersect(dnsPermission2), DnsPermission)
    ' Print the attributes and values of the intersection instance of DnsPermission.
    PrintKeysAndValues(permission.ToXml().Attributes)
End Sub 'MyIntersection

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft