StrongNameIdentityPermission.Union(IPermission) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée une autorisation qui est l’union de l’autorisation actuelle et de l’autorisation spécifiée.
public:
override System::Security::IPermission ^ Union(System::Security::IPermission ^ target);
public override System.Security.IPermission Union (System.Security.IPermission target);
override this.Union : System.Security.IPermission -> System.Security.IPermission
Public Overrides Function Union (target As IPermission) As IPermission
Paramètres
- target
- IPermission
Autorisation à combiner avec l’autorisation actuelle. Elle doit être du même type que l’autorisation actuelle.
Retours
Nouvelle autorisation qui représente l’union de l’autorisation actuelle et de l’autorisation spécifiée.
Exceptions
Le paramètre target
n’a pas la valeur null
et n’est pas du même type que l’autorisation actuelle.
- ou -
Les deux autorisations ne sont pas égales et l’une est un sous-ensemble de l’autre.
Exemples
L’exemple de code suivant montre les résultats de l’utilisation de la Union méthode, et non l’utilisation de la méthode . Cet exemple fait partie d’un exemple plus grand fourni pour la StrongNameIdentityPermission classe . La meilleure utilisation de cet exemple est de générer et d’exécuter l’intégralité de l’exemple, et d’afficher sa sortie.
Notes
L’exemple de code est destiné à montrer le comportement de la méthode, et non à illustrer son utilisation. En général, les méthodes des classes d’autorisation sont utilisées par l’infrastructure de sécurité ; ils ne sont généralement pas utilisés dans les applications.
// Union creates a new permission that is the union of the current permission and the specified permission.
bool UnionDemo()
{
bool returnValue = true;
StrongNameIdentityPermission^ snIdPerm1;
StrongNameIdentityPermission^ snIdPerm2;
IPermission^ 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"));
snIdPerm3 = dynamic_cast<StrongNameIdentityPermission^>(snIdPerm1->Union( snIdPerm2 ));
snIdPerm3 = snIdPerm1->Union( snIdPerm2 );
try
{
Console::WriteLine("The union of MyCompany.MyDepartment.*" +
"and MyCompany.MyDepartment.MyFile is " +
(dynamic_cast<StrongNameIdentityPermission^>(snIdPerm3))->Name);
}
catch (Exception^ e)
{
Console::WriteLine("An expected exception was thrown: " + e->Message);
}
return returnValue;
}
// Union creates a new permission that is the union of the current permission and the specified permission.
private bool UnionDemo()
{
bool returnValue = true;
StrongNameIdentityPermission snIdPerm1, snIdPerm2;
IPermission 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"));
snIdPerm3 = (StrongNameIdentityPermission)snIdPerm1.Union(snIdPerm2);
try
{
Console.WriteLine("The union of MyCompany.MyDepartment.*" +
"and MyCompany.MyDepartment.MyFile is " +
((StrongNameIdentityPermission)snIdPerm3).Name.ToString());
}
catch (Exception e)
{
Console.WriteLine("An expected exception was thrown: " + e.Message);
}
return returnValue;
}
' Union creates a new permission that is the union of the current permission and the specified permission.
Private Function UnionDemo() As Boolean
Dim returnValue As Boolean = True
Dim snIdPerm1, snIdPerm2 As StrongNameIdentityPermission
Dim snIdPerm3 As IPermission
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"))
snIdPerm3 = CType(snIdPerm1.Union(snIdPerm2), StrongNameIdentityPermission)
Try
Console.WriteLine("The union of MyCompany.MyDepartment.*" + "and MyCompany.MyDepartment.MyFile is " + CType(snIdPerm3, StrongNameIdentityPermission).Name.ToString())
Catch e As Exception
Console.WriteLine("An expected exception was thrown: " + e.Message)
End Try
Return returnValue
End Function 'UnionDemo
Remarques
Le résultat d’un appel à Union est une autorisation qui représente toutes les opérations représentées par l’autorisation actuelle et l’autorisation spécifiée. Toute demande qui passe l’une ou l’autre autorisation passe leur union.
L’union d’une autorisation et null
est l’autorisation qui n’est pas null
. L’union d’une autorisation et d’un sous-ensemble de cette autorisation est l’autorisation qui contient l’autre. Toute autre combinaison entraîne la levée d’une ArgumentException exception.