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
Available since 1.1
Return to top