次の方法で共有


DnsPermission.Copy メソッド

現在のアクセス許可インスタンスのコピーを作成します。

Overrides Public Function Copy() As IPermission Implements _   IPermission.Copy
[C#]
public override IPermission Copy();
[C++]
public: IPermission* Copy();
[JScript]
public override function Copy() : IPermission;

戻り値

現在のインスタンスのコピーである DnsPermission クラスの新しいインスタンス。

実装

IPermission.Copy

解説

DnsPermission インスタンスのコピーは、DNS サーバーへの元のアクセス許可インスタンスと同じアクセスを提供します。

使用例

[Visual Basic, C#, C++] 既存の DnsPermission インスタンスのコピーを作成する例を次に示します。

 
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 'UseDns


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 'PrintKeysAndValues


[C#] 
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();
}

[C++] 
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 = dynamic_cast<DnsPermission*>(myPermission->Copy());
      Console::WriteLine(S"Attributes and Values of 'DnsPermission' instance :");
      // Print the attributes and values.
      PrintKeysAndValues(myPermission->ToXml()->Attributes);
      Console::WriteLine(S"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(S"\t-KEY-\t-VALUE-");
      while (myEnumerator->MoveNext())
         Console::WriteLine(S"\t {0}:\t {1}", myEnumerator->Key, myEnumerator->Value);
      Console::WriteLine();
   }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, Common Language Infrastructure (CLI) Standard

参照

DnsPermission クラス | DnsPermission メンバ | System.Net 名前空間