ApplicationId 類別

定義

包含用於唯一識別基於清單的應用程式的資訊。 此類別無法獲得繼承。

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
屬性

範例

以下程式碼範例ApplicationId透過ApplicationIdApplicationSecurityInfo從使用ActivationContext目前執行的基於清單應用程式建立的實例取得屬性。

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 來識別基於清單的應用程式。

建構函式

名稱 Description
ApplicationId(Byte[], String, Version, String, String)

初始化 ApplicationId 類別的新執行個體。

屬性

名稱 Description
Culture

會得到一個字串,代表應用程式的文化資訊。

Name

會拿到應用程式名稱。

ProcessorArchitecture

取得應用程式的目標處理器架構。

PublicKeyToken

取得應用程式的公鑰令牌。

Version

取得應用程式版本。

方法

名稱 Description
Copy()

建立並回傳與目前應用程式身份相同的副本。

Equals(Object)

判斷指定 ApplicationId 物件是否等同於電流 ApplicationId

GetHashCode()

取得目前應用程式身份的雜湊碼。

GetType()

取得目前實例的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

建立並回傳應用程式身份的字串表示。

適用於