SecurityPermission.Copy-Methode
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 SecurityPermission
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
Im folgenden Codebeispiel soll das Verhalten der Copy-Methode veranschaulicht werden, auf ihre Verwendung wird jedoch nicht eingegangen. Im Allgemeinen werden die Methoden von Berechtigungsklassen durch die Sicherheitsinfrastruktur verwendet und sind nicht für die Verwendung in Anwendungen bestimmt. Im folgenden Codebeispiel wird jedoch veranschaulicht, wie sich die Methode verhält, wenn sie vom Code aus ausgeführt wird. Den vollständigen Beispielcode finden Sie in der SecurityPermission-Klasse.
Private Function CopyDemo() As Boolean
Dim returnValue As Boolean = True
Dim Security1 As SecurityPermissionFlag
Dim SecurityPerm1, SecurityPerm2 As SecurityPermission
Dim SecurityGen1 As New SecurityGenerator()
Dim SecurityGen2 As New SecurityGenerator()
SecurityGen1.ResetIndex()
While SecurityGen1.GetSecurityFlag(Security1)
SecurityPerm1 = New SecurityPermission(Security1)
SecurityGen2.ResetIndex()
Console.WriteLine("********************************************************" & ControlChars.Lf)
Try
SecurityPerm2 = CType(SecurityPerm1.Copy(), SecurityPermission)
Console.WriteLine(("Result of copy = " & SecurityPerm2.ToString()))
Catch e As Exception
Console.WriteLine(("Copy failed :" & SecurityPerm1.ToString() & e.ToString()))
GoTo ContinueWhile1
End Try
ContinueWhile1:
End While
Return returnValue
End Function 'CopyDemo
private bool CopyDemo()
{
bool returnValue = true;
SecurityPermissionFlag security1;
SecurityPermission securityPerm1,securityPerm2;
SecurityGenerator SecurityGen1 = new SecurityGenerator();
SecurityGenerator SecurityGen2 = new SecurityGenerator();
SecurityGen1.ResetIndex();
while(SecurityGen1.GetSecurityFlag( out security1 ))
{
securityPerm1 = new SecurityPermission(security1);
SecurityGen2.ResetIndex();
Console.WriteLine("********************************************************\n");
try
{
securityPerm2 = (SecurityPermission)securityPerm1.Copy();
Console.WriteLine("Result of copy = " + securityPerm2.ToString());
}
catch(Exception e)
{
Console.WriteLine("Copy failed :" + securityPerm1.ToString() + e);
continue;
}
}
return returnValue;
}
bool CopyDemo()
{
bool returnValue = true;
SecurityPermissionFlag security1;
SecurityPermission^ securityPerm1;
SecurityPermission^ securityPerm2;
SecurityGenerator^ SecurityGen1 = gcnew SecurityGenerator;
SecurityGenerator^ SecurityGen2 = gcnew SecurityGenerator;
SecurityGen1->ResetIndex();
while ( SecurityGen1->GetSecurityFlag( &security1 ) )
{
securityPerm1 = gcnew SecurityPermission(security1);
continue;
SecurityGen2->ResetIndex();
Console::WriteLine( "********************************************************\n" );
try
{
securityPerm2 = dynamic_cast<SecurityPermission^>(securityPerm1->Copy());
Console::WriteLine( "Result of copy = {0}", securityPerm2 );
}
catch ( Exception^ e )
{
Console::WriteLine( "Copy failed :{0}{1}", securityPerm1, e );
continue;
}
}
return returnValue;
}
private boolean CopyDemo()
{
boolean returnValue = true;
SecurityPermissionFlag security1[] = new SecurityPermissionFlag[1];
SecurityPermission securityPerm1[] = new SecurityPermission[1];
SecurityPermission securityPerm2[] = new SecurityPermission[1];
SecurityGenerator securityGen1 = new SecurityGenerator();
SecurityGenerator securityGen2 = new SecurityGenerator();
securityGen1.ResetIndex();
while (securityGen1.CreateSecurity(securityPerm1, security1)) {
if (securityPerm1[0] == null) {
continue ;
}
securityGen2.ResetIndex();
Console.WriteLine("***************************************"
+ "*****************\n");
try {
securityPerm2[0] =((SecurityPermission)(
securityPerm1[0].Copy()));
Console.WriteLine(("Result of copy = "
+ securityPerm2[0].ToString()));
}
catch(System.Exception e) {
Console.WriteLine(("Copy failed :"
+ securityPerm1[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
SecurityPermission-Klasse
SecurityPermission-Member
System.Security.Permissions-Namespace