Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bestimmt, ob die aktuelle Berechtigung eine Teilmenge der angegebenen Berechtigung ist.
Namespace: System.Security.Permissions
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides Function IsSubsetOf ( _
target As IPermission _
) As Boolean
'Usage
Dim instance As ReflectionPermission
Dim target As IPermission
Dim returnValue As Boolean
returnValue = instance.IsSubsetOf(target)
public override bool IsSubsetOf (
IPermission target
)
public:
virtual bool IsSubsetOf (
IPermission^ target
) override
public boolean IsSubsetOf (
IPermission target
)
public override function IsSubsetOf (
target : IPermission
) : boolean
Parameter
- target
Eine Berechtigung, für die geprüft werden soll, ob sie eine Teilmenge einer anderen Berechtigung ist. Diese Berechtigung muss von demselben Typ wie die aktuelle Berechtigung sein.
Rückgabewert
true, wenn die aktuelle Berechtigung eine Teilmenge der angegebenen Berechtigung ist, andernfalls false.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
Der target-Parameter ist nicht NULL (Nothing in Visual Basic) und nicht von demselben Typ wie die aktuelle Berechtigung. |
Hinweise
Die aktuelle Berechtigung ist eine Teilmenge der angegebenen Berechtigung, wenn die aktuelle Berechtigung eine Gruppe von Operationen angibt, die vollständig in der angegebenen Berechtigung enthalten ist. Beispielsweise ist eine Berechtigung, die den Zugriff auf C:\beispiel.txt darstellt, eine Teilmenge einer Berechtigung, die den Zugriff auf C:\ darstellt. Wenn diese Methode true zurückgibt, stellt die aktuelle Berechtigung keine weitergehenden Zugriffsrechte für die geschützte Ressource dar als die angegebene Berechtigung.
Beispiel
Private Function IsSubsetOfDemo() As Boolean
Dim returnValue As Boolean = True
Dim reflection1, reflection2 As ReflectionPermissionFlag
Dim reflectionPerm1, reflectionPerm2 As ReflectionPermission
Dim reflectionGen1 As New ReflectionGenerator()
Dim reflectionGen2 As New ReflectionGenerator()
reflectionGen1.ResetIndex()
While reflectionGen1.CreateReflection(reflection1)
reflectionPerm1 = New ReflectionPermission(reflection1)
reflectionGen2.ResetIndex()
Console.WriteLine("********************************************************" & ControlChars.Lf)
While reflectionGen2.CreateReflection(reflection2)
reflectionPerm2 = New ReflectionPermission(reflection2)
Try
If reflectionPerm1.IsSubsetOf(reflectionPerm2) Then
Console.WriteLine((reflectionPerm1.Flags.ToString() & " is a subset of " _
& reflectionPerm2.Flags.ToString()))
Else
Console.WriteLine((reflectionPerm1.Flags.ToString() & " is not a subset of " _
& reflectionPerm2.Flags.ToString()))
End If
Catch e As Exception
Console.WriteLine(("An exception was thrown for subset :" & reflectionPerm1.ToString() _
& ControlChars.Lf & reflectionPerm2.ToString() & ControlChars.Lf & e.ToString()))
returnValue = False
End Try
ContinueWhile2:
End While
ContinueWhile1:
End While
Return returnValue
End Function 'IsSubsetOfDemo
private bool IsSubsetOfDemo()
{
bool returnValue = true;
ReflectionPermissionFlag reflection1, reflection2;
ReflectionPermission reflectionPerm1, reflectionPerm2;
ReflectionGenerator reflectionGen1 = new ReflectionGenerator();
ReflectionGenerator reflectionGen2 = new ReflectionGenerator();
reflectionGen1.ResetIndex();
while (reflectionGen1.CreateReflection(out reflection1))
{
reflectionPerm1 = new ReflectionPermission(reflection1);
reflectionGen2.ResetIndex();
Console.WriteLine("********************************************************\n");
while (reflectionGen2.CreateReflection(out reflection2))
{
reflectionPerm2 = new ReflectionPermission(reflection2);
try
{
if (reflectionPerm1.IsSubsetOf(reflectionPerm2))
{
Console.WriteLine(reflectionPerm1.Flags + " is a subset of " +
reflectionPerm2.Flags);
}
else
{
Console.WriteLine(reflectionPerm1.Flags + " is not a subset of " +
reflectionPerm2.Flags);
}
}
catch (Exception e)
{
Console.WriteLine("An exception was thrown for subset :" + reflectionPerm1 + "\n" +
reflectionPerm2 + "\n" + e);
returnValue = false;
}
}
}
return returnValue;
}
bool IsSubsetOfDemo()
{
bool returnValue = true;
ReflectionPermissionFlag reflection1;
ReflectionPermissionFlag reflection2;
ReflectionPermission^ reflectionPerm1;
ReflectionPermission^ reflectionPerm2;
ReflectionGenerator^ reflectionGen1 = gcnew ReflectionGenerator;
ReflectionGenerator^ reflectionGen2 = gcnew ReflectionGenerator;
reflectionGen1->ResetIndex();
while ( reflectionGen1->CreateReflection( &reflection1 ) )
{
reflectionPerm1 = gcnew ReflectionPermission( reflection1 );
reflectionGen2->ResetIndex();
Console::WriteLine( "********************************************************\n" );
while ( reflectionGen2->CreateReflection( &reflection2 ) )
{
reflectionPerm2 = gcnew ReflectionPermission( reflection2 );
try
{
if ( reflectionPerm1->IsSubsetOf( reflectionPerm2 ) )
{
Console::WriteLine( "{0} is a subset of {1}", reflectionPerm1->Flags, reflectionPerm2->Flags );
}
else
{
Console::WriteLine( "{0} is not a subset of {1}", reflectionPerm1->Flags, reflectionPerm2->Flags );
}
}
catch ( Exception^ e )
{
Console::WriteLine( "An exception was thrown for subset : {0}\n{1}\n{2}", reflectionPerm1, reflectionPerm2, e );
returnValue = false;
}
}
}
return returnValue;
}
private boolean IsSubsetOfDemo()
{
boolean returnValue = true;
ReflectionPermissionFlag reflection1[] =
new ReflectionPermissionFlag[1] ;
ReflectionPermissionFlag reflection2[] =
new ReflectionPermissionFlag[1] ;
ReflectionPermission reflectionPerm1[] =
new ReflectionPermission[1] ;
ReflectionPermission reflectionPerm2[] =
new ReflectionPermission[1];
ReflectionGenerator reflectionGen1 =
new ReflectionGenerator();
ReflectionGenerator reflectionGen2 =
new ReflectionGenerator();
reflectionGen1.ResetIndex();
while(reflectionGen1.CreateReflection(reflectionPerm1, reflection1)) {
if (reflectionPerm1[0] == null) {
continue ;
}
reflectionGen2.ResetIndex();
Console.WriteLine("***************************************"
+ "*****************\n");
while(reflectionGen2.CreateReflection(
reflectionPerm2, reflection2)) {
if (reflectionPerm2[0] == null) {
continue ;
}
try {
if ( reflectionPerm1[0].IsSubsetOf(reflectionPerm2[0])) {
Console.WriteLine((reflectionPerm1[0].get_Flags()
+ " is a subset of " +
reflectionPerm2[0].get_Flags()));
}
else {
Console.WriteLine((reflectionPerm1[0].get_Flags()
+ " is not a subset of "
+ reflectionPerm2[0].get_Flags()));
}
}
catch(System.Exception e) {
Console.WriteLine(("An exception was "
+ "thrown for subset :" + reflectionPerm1[0] + "\n"
+ reflectionPerm2[0] + "\n" + e));
returnValue = false;
}
}
}
return returnValue ;
} //IsSubsetOfDemo
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
ReflectionPermission-Klasse
ReflectionPermission-Member
System.Security.Permissions-Namespace