ApplicationId 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包含用來唯一識別資訊清單架構應用程式的資訊。 此類別無法獲得繼承。
public ref class ApplicationId sealed
public sealed class ApplicationId
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class ApplicationId
type ApplicationId = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type ApplicationId = class
Public NotInheritable Class ApplicationId
- 繼承
-
ApplicationId
- 屬性
範例
下列程式碼範例會從 ApplicationSecurityInfo 使用 ActivationContext 目前執行之資訊清單型應用程式的 所建立的 實例取得 ApplicationId ,以顯示 ApplicationId 屬性。
using System;
using System.Collections;
using System.Text;
using System.Security.Policy;
using System.Reflection;
using System.Security;
namespace ActivationContextSample
{
public class Program : MarshalByRefObject
{
public static void Main(string[] args)
{
Console.WriteLine("Full name = " +
AppDomain.CurrentDomain.ActivationContext.Identity.FullName);
Console.WriteLine("Code base = " +
AppDomain.CurrentDomain.ActivationContext.Identity.CodeBase);
ApplicationSecurityInfo asi = new ApplicationSecurityInfo(AppDomain.CurrentDomain.ActivationContext);
Console.WriteLine("ApplicationId.Name property = " + asi.ApplicationId.Name);
if (asi.ApplicationId.Culture != null)
Console.WriteLine("ApplicationId.Culture property = " + asi.ApplicationId.Culture.ToString());
Console.WriteLine("ApplicationId.ProcessorArchitecture property = " + asi.ApplicationId.ProcessorArchitecture);
Console.WriteLine("ApplicationId.Version property = " + asi.ApplicationId.Version);
// To display the value of the public key, enumerate the Byte array for the property.
Console.Write("ApplicationId.PublicKeyToken property = ");
byte[] pk = asi.ApplicationId.PublicKeyToken;
for (int i = 0; i < pk.GetLength(0); i++)
Console.Write("{0:x}", pk[i]);
Console.Read();
}
public void Run()
{
Main(new string[] { });
Console.ReadLine();
}
}
}
open System
open System.Collections
open System.Text
open System.Security.Policy
open System.Reflection
open System.Security
let main _ =
printfn $"Full name = {AppDomain.CurrentDomain.ActivationContext.Identity.FullName}"
printfn $"Code base = {AppDomain.CurrentDomain.ActivationContext.Identity.CodeBase}"
let asi = ApplicationSecurityInfo AppDomain.CurrentDomain.ActivationContext
printfn $"ApplicationId.Name property = {asi.ApplicationId.Name}"
if asi.ApplicationId.Culture <> null then
printfn $"ApplicationId.Culture property = {asi.ApplicationId.Culture}"
printfn $"ApplicationId.ProcessorArchitecture property = {asi.ApplicationId.ProcessorArchitecture}"
printfn $"ApplicationId.Version property = {asi.ApplicationId.Version}"
// To display the value of the public key, enumerate the Byte array for the property.
printf "ApplicationId.PublicKeyToken property = "
let pk = asi.ApplicationId.PublicKeyToken
for i = 0 to pk.GetLength 0 - 1 do
printf $"{pk[i]:x}"
Console.Read()
Imports System.Collections
Imports System.Text
Imports System.Security.Policy
Imports System.Reflection
Imports System.Security
Imports System.Security.Permissions
Public Class Program
Inherits MarshalByRefObject
<SecurityPermission(SecurityAction.Demand, ControlDomainPolicy:=true)> _
Public Shared Sub Main(ByVal args() As String)
Console.WriteLine("Full name = " + _
AppDomain.CurrentDomain.ActivationContext.Identity.FullName)
Console.WriteLine("Code base = " + _
AppDomain.CurrentDomain.ActivationContext.Identity.CodeBase)
Dim asi As New ApplicationSecurityInfo(AppDomain.CurrentDomain.ActivationContext)
Console.WriteLine("ApplicationId.Name property = " + asi.ApplicationId.Name)
If Not (asi.ApplicationId.Culture Is Nothing) Then
Console.WriteLine("ApplicationId.Culture property = " + _
asi.ApplicationId.Culture.ToString())
End If
Console.WriteLine("ApplicationId.ProcessorArchitecture property = " + _
asi.ApplicationId.ProcessorArchitecture)
Console.WriteLine("ApplicationId.Version property = " + _
asi.ApplicationId.Version.ToString())
' To display the value of the public key, enumerate the Byte array for the property.
Console.Write("ApplicationId.PublicKeyToken property = ")
Dim pk As Byte() = asi.ApplicationId.PublicKeyToken
Dim i As Integer
For i = 0 To (pk.GetLength(0))
Console.Write("{0:x}", pk(i))
Next i
Console.Read()
End Sub
Public Sub Run()
Main(New String() {})
End Sub
End Class
備註
應用程式身分識別是由發行者的公開金鑰、應用程式名稱、目標處理器架構、應用程式文化特性和應用程式版本所組成。 應用程式識別屬性值會對應至應用程式資訊清單中包含的資訊。 如需應用程式資訊清單的詳細資訊,請參閱 ClickOnce 應用程式資訊清單。
ApplicationId 由 ApplicationSecurityInfo 類別用來識別以資訊清單為基礎的應用程式。
建構函式
ApplicationId(Byte[], String, Version, String, String) |
初始化 ApplicationId 類別的新執行個體。 |
屬性
Culture |
取得字串,表示應用程式的文化特性資訊。 |
Name |
取得應用程式的名稱。 |
ProcessorArchitecture |
取得應用程式的目標處理器架構。 |
PublicKeyToken |
取得應用程式的公開金鑰語彙基元。 |
Version |
取得應用程式的版本。 |
方法
Copy() |
建立並傳回目前應用程式識別的相同複本。 |
Equals(Object) |
判斷指定的 ApplicationId 物件是否相當於目前的 ApplicationId。 |
GetHashCode() |
取得目前應用程式識別的雜湊程式碼。 |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
建立並傳回應用程式識別的字串表示。 |