DnsPermission.Copy 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立目前使用權限執行個體的相同複本。
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
傳回
DnsPermission 類別的新執行個體是目前執行個體的相同複本。
範例
下列範例會建立現有 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
備註
實例的 DnsPermission 複本提供與原始許可權實例相同的 DNS 伺服器存取權。