DnsPermission.Copy Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Creates an identical copy of the current permission instance.
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
Returns
A new instance of the DnsPermission class that is an identical copy of the current instance.
Examples
The following example creates an identical copy of an existing DnsPermission instance.
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
Remarks
A copy of a DnsPermission instance provides the same access to DNS servers as the original permission instance.
Applies to
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示