Export (0) Print
Expand All

DnsPermission::Copy Method

Creates an identical copy of the current permission instance.

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

virtual IPermission^ Copy() override

Return Value

Type: System.Security::IPermission
A new instance of the DnsPermission class that is an identical copy of the current instance.



A copy of a DnsPermission instance provides the same access to DNS servers as the original permission instance.

The following example creates an identical copy of an existing DnsPermission instance.

   void UseDns()
      // Create a DnsPermission instance.
      DnsPermission^ myPermission = gcnew DnsPermission( PermissionState::Unrestricted );
      // Check for permission.
      // Create an identical copy of the above 'DnsPermission' Object*.
      DnsPermission^ myPermissionCopy = dynamic_cast<DnsPermission^>(myPermission->Copy());
      Console::WriteLine( "Attributes and Values of 'DnsPermission' instance :" );
      // Print the attributes and values.
      PrintKeysAndValues( myPermission->ToXml()->Attributes );
      Console::WriteLine( "Attribute and values of copied instance :" );
      PrintKeysAndValues( myPermissionCopy->ToXml()->Attributes );

   void PrintKeysAndValues( Hashtable^ myHashtable )
      // Get the enumerator that can iterate through the hash table.
      IDictionaryEnumerator^ myEnumerator = myHashtable->GetEnumerator();
      Console::WriteLine( "\t-KEY-\t-VALUE-" );
      while ( myEnumerator->MoveNext() )
         Console::WriteLine( "\t {0}:\t {1}", myEnumerator->Key, myEnumerator->Value );

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
© 2015 Microsoft