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.
Erstellt eine identische Kopie der aktuellen Berechtigung und gibt die Kopie zurück.
Namespace: System.Security.Permissions
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides Function Copy As IPermission
'Usage
Dim instance As ReflectionPermission
Dim returnValue As IPermission
returnValue = instance.Copy
public override IPermission Copy ()
public:
virtual IPermission^ Copy () override
public IPermission Copy ()
public override function Copy () : IPermission
Rückgabewert
Eine Kopie der aktuellen Berechtigung.
Hinweise
Eine Kopie einer Berechtigung stellt denselben Ressourcenzugriff dar wie die ursprüngliche Berechtigung.
Beispiel
Private Function CopyDemo() As Boolean
Dim returnValue As Boolean = True
Dim reflection1 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)
Try
reflectionPerm2 = CType(reflectionPerm1.Copy(), ReflectionPermission)
Console.WriteLine(("Result of copy = " & reflectionPerm2.ToString()))
Catch e As Exception
Console.WriteLine(("Copy failed :" & reflectionPerm1.ToString() & e.ToString()))
End Try
ContinueWhile1:
End While
Return returnValue
End Function 'CopyDemo
private bool CopyDemo()
{
bool returnValue = true;
ReflectionPermissionFlag reflection1;
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");
try
{
reflectionPerm2 = (ReflectionPermission)reflectionPerm1.Copy();
Console.WriteLine("Result of copy = " + reflectionPerm2.ToString());
}
catch (Exception e)
{
Console.WriteLine("Copy failed :" + reflectionPerm1.ToString() + e);
continue;
}
}
return returnValue;
}
bool CopyDemo()
{
bool returnValue = true;
ReflectionPermissionFlag reflection1;
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" );
try
{
reflectionPerm2 = dynamic_cast<ReflectionPermission^>(reflectionPerm1->Copy());
Console::WriteLine( "Result of copy = {0}", reflectionPerm2 );
}
catch ( Exception^ e )
{
Console::WriteLine( "Copy failed : {0}{1}", reflectionPerm1, e );
continue;
}
}
return returnValue;
}
private boolean CopyDemo()
{
boolean returnValue = true;
ReflectionPermissionFlag reflection1[] =
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");
try {
reflectionPerm2[0] =((ReflectionPermission)(
reflectionPerm1[0].Copy()));
Console.WriteLine(("Result of copy = "
+ reflectionPerm2[0].ToString()));
}
catch(System.Exception e){
Console.WriteLine(("Copy failed :"
+ reflectionPerm1[0].ToString() + e));
continue ;
}
}
return returnValue ;
} //CopyDemo
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