StrongNameIdentityPermission.Union(IPermission) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un'autorizzazione che rappresenta l'unione dell'autorizzazione corrente e di quella specificata.
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
Parametri
- target
- IPermission
Autorizzazione da combinare con quella corrente. Deve essere dello stesso tipo dell'autorizzazione corrente.
Restituisce
Nuova autorizzazione che rappresenta l'unione dell'autorizzazione corrente e di quella specificata.
Eccezioni
Il parametro target
non è null
e non è dello stesso tipo dell'autorizzazione corrente.
-oppure- Le due autorizzazioni sono diverse e una rappresenta un subset dell'altra.
Esempio
Nell'esempio di codice seguente vengono illustrati i risultati dell'uso del Union metodo , non come usare il metodo . Questo esempio fa parte di un esempio più ampio fornito per la StrongNameIdentityPermission classe . L'uso migliore per questo esempio consiste nel compilare ed eseguire l'intero esempio e visualizzarne l'output.
Nota
L'esempio di codice è progettato per mostrare il comportamento del metodo, non per dimostrare l'uso. In generale, i metodi delle classi di autorizzazione vengono usati dall'infrastruttura di sicurezza; in genere non vengono usati nelle applicazioni.
// 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
Commenti
Il risultato di una chiamata a Union è un'autorizzazione che rappresenta tutte le operazioni rappresentate sia dall'autorizzazione corrente che dall'autorizzazione specificata. Qualsiasi richiesta che supera l'autorizzazione supera l'unione.
Unione di un'autorizzazione ed null
è l'autorizzazione che non null
è . L'unione di un'autorizzazione e di un subset di tale autorizzazione è l'autorizzazione che contiene l'altra. Qualsiasi altra combinazione comporta la generazione di un'eccezione ArgumentException .