Comparteix a través de


DnsPermission.Copy Método

Definición

Crea una copia idéntica de la instancia de permiso actual.

public:
 override System::Security::IPermission ^ Copy();
public override System.Security.IPermission Copy ();
override this.Copy : unit -> System.Security.IPermission
Public Overrides Function Copy () As IPermission

Devoluciones

Nueva instancia de la clase DnsPermission que es una copia idéntica de la instancia actual.

Ejemplos

En el ejemplo siguiente se crea una copia idéntica de una instancia existente DnsPermission .

public:
   void UseDns()
   {
      // Create a DnsPermission instance.
      DnsPermission^ myPermission = gcnew DnsPermission( PermissionState::Unrestricted );
      // Check for permission.
      myPermission->Demand();
      // 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 );
   }

private:
   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 );
      }
      Console::WriteLine();
   }
public void UseDns() {
   // Create a DnsPermission instance.
   DnsPermission myPermission = new DnsPermission(PermissionState.Unrestricted);
   // Check for permission.
   myPermission.Demand();
   // Create an identical copy of the above 'DnsPermission' object.
   DnsPermission myPermissionCopy = (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);
}

private 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);
   Console.WriteLine();
}
Public Sub UseDns()
    ' Create a DnsPermission instance.
    Dim myPermission As New DnsPermission(PermissionState.Unrestricted)
    ' Check for permission.
    myPermission.Demand()
    ' Create an identical copy of the above DnsPermission object.
    Dim myPermissionCopy As DnsPermission = CType(myPermission.Copy(), DnsPermission)
    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)
End Sub


Private Sub PrintKeysAndValues(myHashtable As Hashtable)
    ' Get the enumerator that can iterate through he hash table.
    Dim myEnumerator As IDictionaryEnumerator = myHashtable.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

Comentarios

Una copia de una DnsPermission instancia proporciona el mismo acceso a los servidores DNS que la instancia de permiso original.

Se aplica a