StrongNameIdentityPermission.Intersect(IPermission) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 사용 권한 및 지정된 사용 권한의 공통 권한을 만들어 반환합니다.
public:
override System::Security::IPermission ^ Intersect(System::Security::IPermission ^ target);
public override System.Security.IPermission Intersect (System.Security.IPermission target);
override this.Intersect : System.Security.IPermission -> System.Security.IPermission
Public Overrides Function Intersect (target As IPermission) As IPermission
매개 변수
- target
- IPermission
현재 사용 권한과 공통되는 사용 권한입니다. 현재 사용 권한과 동일한 형식이어야 합니다.
반환
현재 사용 권한과 지정된 사용 권한의 공통 사용 권한을 나타내는 새로운 사용 권한이거나, 공통 사용 권한이 없으면 null
입니다.
예외
target
매개 변수가 null
이 아니고 현재 사용 권한과 형식이 다른 경우
예제
다음 코드 예제에서는 메서드를 사용하는 방법이 아니라 메서드를 Intersect 사용한 결과를 보여 있습니다. 이 예제는에 대해 제공 된 큰 예제의 일부는 StrongNameIdentityPermission 클래스입니다. 이 예제에서는 전체 예제를 빌드 및 실행하고 출력을 보는 것이 가장 좋습니다.
참고
코드 예제는 메서드의 동작을 표시하기 위한 것이며, 메서드의 사용을 보여 주는 것이 아닙니다. 으로 보안 인프라를 권한 클래스의 메서드를 사용 하는 일반적으로 애플리케이션에서 사용 되지 됩니다.
// Intersect creates and returns a new permission that is the intersection of the current
// permission and the permission specified.
bool IntersectDemo()
{
bool returnValue = true;
StrongNameIdentityPermission^ snIdPerm1;
StrongNameIdentityPermission^ snIdPerm2;
StrongNameIdentityPermission^ snIdPerm3;
snIdPerm1 = gcnew StrongNameIdentityPermission(blob, "MyCompany.MyDepartment.*", gcnew Version("1.0.0.0"));
snIdPerm2 = gcnew StrongNameIdentityPermission(blob, "MyCompany.MyDepartment.MyFile", gcnew Version("1.0.0.0"));
try
{
snIdPerm3 = dynamic_cast<StrongNameIdentityPermission^>(snIdPerm1->Intersect(snIdPerm2));
Console::WriteLine("The intersection of MyCompany.MyDepartment.*" +
"and MyCompany.MyDepartment.MyFile is " +
(dynamic_cast<StrongNameIdentityPermission^>(snIdPerm3))->Name);
}
catch (Exception^ e)
{
Console::WriteLine("An exception was thrown: " + e);
returnValue = false;
}
return returnValue;
}
// Intersect creates and returns a new permission that is the intersection of the current
// permission and the permission specified.
private bool IntersectDemo()
{
bool returnValue = true;
StrongNameIdentityPermission snIdPerm1, snIdPerm2, snIdPerm3;
snIdPerm1 = new StrongNameIdentityPermission(blob, "MyCompany.MyDepartment.*", new Version("1.0.0.0"));
snIdPerm2 = new StrongNameIdentityPermission(blob, "MyCompany.MyDepartment.MyFile", new Version("1.0.0.0"));
try
{
snIdPerm3 = (StrongNameIdentityPermission)snIdPerm1.Intersect(snIdPerm2);
Console.WriteLine("The intersection of MyCompany.MyDepartment.*"
+ "MyCompany.MyDepartment.MyFile is "
+ ((StrongNameIdentityPermission)snIdPerm3).Name.ToString());
}
catch (Exception e)
{
Console.WriteLine("An exception was thrown: " + e);
returnValue = false;
}
return returnValue;
}
' Intersect creates and returns a new permission that is the intersection of the current
' permission and the permission specified.
Private Function IntersectDemo() As Boolean
Dim returnValue As Boolean = True
Dim snIdPerm1, snIdPerm2, snIdPerm3 As StrongNameIdentityPermission
snIdPerm1 = New StrongNameIdentityPermission(blob, "MyCompany.MyDepartment.*", New Version("1.0.0.0"))
snIdPerm2 = New StrongNameIdentityPermission(blob, "MyCompany.MyDepartment.MyFile", New Version("1.0.0.0"))
Try
snIdPerm3 = CType(snIdPerm1.Intersect(snIdPerm2), StrongNameIdentityPermission)
Console.WriteLine("The intersection of MyCompany.MyDepartment.*" + "MyCompany.MyDepartment.MyFile is " + CType(snIdPerm3, StrongNameIdentityPermission).Name.ToString())
Catch e As Exception
Console.WriteLine("An exception was thrown: " + e.ToString())
returnValue = False
End Try
Return returnValue
End Function 'IntersectDemo
설명
두 권한의 교차점은 둘 다 공통적으로 설명하는 작업 집합을 설명하는 권한입니다. 원래 사용 권한을 모두 전달하는 요청만 교차를 통과합니다.
동일한 두 개의 강력한 이름 ID 권한의 교집합은 동일한 권한입니다. 서로 다른 두 식(와일드카드 아님)의 교집합은 빈 권한입니다. 와일드카드 식과 일치하는 강력한 이름의 교차점은 강력한 이름입니다. 일치하는 두 와일드카드 식의 교집합은 두 식 중 더 길고 더 구체적입니다.
적용 대상
.NET