StrongNameIdentityPermission.Intersect メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As StrongNameIdentityPermission Dim target As IPermission Dim returnValue As IPermission returnValue = instance.Intersect(target)
戻り値
現在のアクセス許可と指定したアクセス許可の積集合を表すアクセス許可。または、積集合がない場合は null 参照 (Visual Basic では Nothing)。


2 つのアクセス許可の積集合となるアクセス許可には、両方に共通する操作の集合が記述されています。2 つのアクセス許可を要求し、その両方について要求が満たされる場合にだけ、それらの積集合を表すアクセス許可に対する要求も満たされます。
2 つの同じ厳密な名前 ID アクセス許可の積集合は、同じアクセス許可です。2 つの異なる (ワイルドカード以外の) 式の積集合は、空のアクセス許可です。ワイルドカード式と一致する厳密な名前の積集合は、厳密な名前です。一致する 2 つのワイルドカード式の積集合は、2 つの式のうち、より長く、より固有な方の式です。

次に示すのは、Intersect メソッドを使用した場合の結果を示すコード例です (メソッドの使用方法を示すものではありません)。このコード例は、StrongNameIdentityPermission クラスのトピックで取り上げているコード例の一部分です。よりよく理解するためには、コード全体を記述して実行し、その出力を確認することをお勧めします。
' 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
// 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. 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; }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- StrongNameIdentityPermission.Intersect メソッドのページへのリンク