ReflectionPermission.Copy 메서드
현재 사용 권한의 동일한 복사본을 만들어 반환합니다.
네임스페이스: System.Security.Permissions
어셈블리: mscorlib(mscorlib.dll)
구문
‘선언
Public Overrides Function Copy As IPermission
‘사용 방법
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
반환 값
현재 사용 권한의 복사본입니다.
설명
사용 권한의 복사본은 리소스에 대해 원래 사용 권한과 동일한 액세스 권한을 나타냅니다.
예제
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
플랫폼
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에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
참고 항목
참조
ReflectionPermission 클래스
ReflectionPermission 멤버
System.Security.Permissions 네임스페이스