Comparteix a través de


DnsPermission.IsSubsetOf(IPermission) Método

Definición

Determina si la instancia de permiso actual es un subconjunto de la instancia de permiso especificada.

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

Parámetros

target
IPermission

Segunda instancia de DnsPermission que se va a comprobar para la relación del subconjunto.

Devoluciones

Es false si la instancia actual no está restringida y target es null o no está restringido; en caso contrario, es true.

Excepciones

target no es DnsPermission ni null.

Ejemplos

En el ejemplo siguiente se usa el IsSubsetOf método para determinar si la instancia de permiso actual es un subconjunto de la instancia de permiso especificada.

public:
   void useDns()
   {
      // Create a DnsPermission instance.
      permission = gcnew DnsPermission( PermissionState::Unrestricted );
      DnsPermission^ dnsPermission1 = gcnew DnsPermission( PermissionState::None );
      // Check for permission.
      permission->Demand();
      dnsPermission1->Demand();
      // Print the attributes and values.
      Console::WriteLine( "Attributes and Values of 'DnsPermission' instance :" );
      PrintKeysAndValues( permission->ToXml()->Attributes );
      Console::WriteLine( "Attributes and Values of specified 'DnsPermission' instance :" );
      PrintKeysAndValues( dnsPermission1->ToXml()->Attributes );
      Subset( dnsPermission1 );
   }

private:
   void Subset( DnsPermission^ Permission1 )
   {
      if ( permission->IsSubsetOf( Permission1 ) )
      {
         Console::WriteLine( "Current 'DnsPermission' instance is a subset of specified 'DnsPermission' instance." );
      }
      else
      {
         Console::WriteLine( "Current 'DnsPermission' instance is not a subset of specified 'DnsPermission' instance." );
      }
   }

   void PrintKeysAndValues( Hashtable^ myList )
   {
      // Get the enumerator that can iterate through the hash table.
      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();
   }
public void useDns() {
   // Create a DnsPermission instance.
   permission = new DnsPermission(PermissionState.Unrestricted);
   DnsPermission dnsPermission1 = new DnsPermission(PermissionState.None);
   // Check for permission.
   permission.Demand();
   dnsPermission1.Demand();
   // Print the attributes and values.
   Console.WriteLine("Attributes and Values of 'DnsPermission' instance :");
   PrintKeysAndValues(permission.ToXml().Attributes);
   Console.WriteLine("Attributes and Values of specified 'DnsPermission' instance :");
   PrintKeysAndValues(dnsPermission1.ToXml().Attributes);
   Subset(dnsPermission1);
}

private void Subset(DnsPermission Permission1)
{
   if(permission.IsSubsetOf(Permission1))
      Console.WriteLine("Current 'DnsPermission' instance is a subset of specified 'DnsPermission' instance.");
   else
      Console.WriteLine("Current 'DnsPermission' instance is not a subset of specified 'DnsPermission' instance.");
}

private void PrintKeysAndValues(Hashtable myList) {
   // Get the enumerator that can iterate through the hash table.
   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();
}
Public Sub useDns()
    ' Create a DnsPermission instance.
    permission = New DnsPermission(PermissionState.Unrestricted)
    Dim dnsPermission1 As New DnsPermission(PermissionState.None)
    ' Check  for permission.
    permission.Demand()
    dnsPermission1.Demand()
    ' Print the attributes and values.
    Console.WriteLine("Attributes and Values of 'DnsPermission' instance :")
    PrintKeysAndValues(permission.ToXml().Attributes)
    Console.WriteLine("Attributes and Values of specified 'DnsPermission' instance :")
    PrintKeysAndValues(dnsPermission1.ToXml().Attributes)
    Subset(dnsPermission1)
End Sub


Private Sub Subset(Permission1 As DnsPermission)
    If permission.IsSubsetOf(Permission1) Then
        Console.WriteLine("Current 'DnsPermission' instance is a subset of specified 'DnsPermission' instance.")
    Else
        Console.WriteLine("Current 'DnsPermission' instance is not a subset of specified 'DnsPermission' instance.")
    End If
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

Comentarios

La instancia actual DnsPermission es un subconjunto de la instancia especificada DnsPermission si la instancia actual DnsPermission especifica un conjunto de operaciones que contiene totalmente la instancia especificada DnsPermission .

Si el IsSubsetOf método devuelve true, la instancia actual DnsPermission no permite más acceso a los servidores DNS que la instancia especificada DnsPermission .

Se aplica a