Aracılığıyla paylaş


DnsPermission.Union(IPermission) Yöntem

Tanım

Geçerli izin örneğinin ve belirtilen izin örneğinin birleşimi olan bir izin örneği oluşturur.

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

Parametreler

target
IPermission

Geçerli DnsPermission örnekle birleştirecek örnek.

Döndürülenler

DnsPermission Geçerli DnsPermission örneğin belirtilen DnsPermission örnekle birleşimini temsil eden bir örnek. ise targetnull, bu yöntem geçerli örneğin bir kopyasını döndürür. Geçerli örnek veya target kısıtlanmamışsa, bu yöntem kısıtlanmamış bir DnsPermission örnek döndürür; aksi takdirde kısıtlanmış bir DnsPermission örnek döndürür.

Özel durumlar

targetne ne de null.DnsPermission

Örnekler

Aşağıdaki örnek, geçerli izin örneğinin ve belirtilen izin örneğinin birleşimi olan bir izin örneği oluşturur.

private:
   void MyUnion()
   {
      // Create a DnsPermission instance that is the union of the current DnsPermission
      // instance and the specified DnsPermission instance.
      DnsPermission^ permission = dynamic_cast<DnsPermission^>(dnsPermission1->Union( dnsPermission2 ));
      // Print the attributes and the values of the union instance of DnsPermission.
      PrintKeysAndValues( permission->ToXml()->Attributes );
   }

public:
   void useDns()
   {
      // Create a DnsPermission instance.
      dnsPermission1 = gcnew DnsPermission( PermissionState::Unrestricted );
      dnsPermission2 = gcnew DnsPermission( PermissionState::None );
      // Check for permission.
      dnsPermission1->Demand();
      dnsPermission2->Demand();
      Console::WriteLine( "Attributes and Values of first DnsPermission instance :" );
      PrintKeysAndValues( dnsPermission1->ToXml()->Attributes );
      Console::WriteLine( "Attributes and Values of second DnsPermission instance :" );
      PrintKeysAndValues( dnsPermission2->ToXml()->Attributes );
      Console::WriteLine( "Union of both instances : " );
      MyUnion();
      Console::WriteLine( "Intersection of both instances : " );
      MyIntersection();
   }

private:
   void PrintKeysAndValues( Hashtable^ myList )
   {
      // Get the enumerator that can iterate through the hash tabble.
      IDictionaryEnumerator^ myEnumerator = myList->GetEnumerator();
      Console::WriteLine( "\t-KEY-\t-VALUE-" );
      while ( myEnumerator->MoveNext() )
      {
         Console::WriteLine( "\t {0}:\t {1}", myEnumerator->Key, myEnumerator->Value );
      }
      Console::WriteLine();
   }
private void MyUnion()
{
   // Create a DnsPermission instance that is the union of the current DnsPermission
   // instance and the specified DnsPermission instance.
   DnsPermission permission = (DnsPermission)dnsPermission1.Union(dnsPermission2);
   // Print the attributes and the values of the union instance of DnsPermission.
   PrintKeysAndValues(permission.ToXml().Attributes);
}
public void useDns() {
   // Create a DnsPermission instance.
   dnsPermission1 = new DnsPermission(PermissionState.Unrestricted);
   dnsPermission2 = new DnsPermission(PermissionState.None);
   // Check for permission.
   dnsPermission1.Demand();
   dnsPermission2.Demand();
   Console.WriteLine("Attributes and Values of first DnsPermission instance :");
   PrintKeysAndValues(dnsPermission1.ToXml().Attributes);
   Console.WriteLine("Attributes and Values of second DnsPermission instance :");
   PrintKeysAndValues(dnsPermission2.ToXml().Attributes);
   Console.WriteLine("Union of both instances : ");
   MyUnion();
   Console.WriteLine("Intersection of both instances : ");
   MyIntersection();
}

private void PrintKeysAndValues(Hashtable myList) {
   // Get the enumerator that can iterate through the hash tabble.
   IDictionaryEnumerator myEnumerator = myList.GetEnumerator();
   Console.WriteLine("\t-KEY-\t-VALUE-");
   while (myEnumerator.MoveNext())
      Console.WriteLine("\t{0}:\t{1}", myEnumerator.Key, myEnumerator.Value);
   Console.WriteLine();
}
Private Sub MyUnion()
    ' Create a DnsPermission instance which is the union of the current DnsPermission instance and the specified DnsPermission instance.
    Dim permission As DnsPermission = CType(dnsPermission1.Union(dnsPermission2), DnsPermission)
    ' Print the attributes and values of the union instance of DnsPermission.
    PrintKeysAndValues(permission.ToXml().Attributes)
End Sub
Public Sub useDns()
    ' Create a DnsPermission instance.
    dnsPermission1 = New DnsPermission(PermissionState.Unrestricted)
    dnsPermission2 = New DnsPermission(PermissionState.None)
    ' Check for permission.
    dnsPermission1.Demand()
    dnsPermission2.Demand()
    Console.WriteLine("Attributes and Values of first DnsPermission instance :")
    PrintKeysAndValues(dnsPermission1.ToXml().Attributes)
    Console.WriteLine("Attributes and Values of second DnsPermission instance :")
    PrintKeysAndValues(dnsPermission2.ToXml().Attributes)
    Console.WriteLine("Union of both instances : ")
    MyUnion()
    Console.WriteLine("Intersection of both instances : ")
    MyIntersection()
End Sub

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

Açıklamalar

yöntemi, Union geçerli DnsPermission örnek veya belirtilen DnsPermission örnek tarafından tanımlanan erişime izin veren bir DnsPermission örnek döndürür. her iki izni de geçen tüm talepler birleşimlerini geçirir.

Şunlara uygulanır