AppDomainSetup.AppDomainInitializerArguments 屬性

定義

取得或設定傳遞給 AppDomainInitializer 委派代表之回呼方法的引數。Gets or sets the arguments passed to the callback method represented by the AppDomainInitializer delegate. 當初始化應用程式定義域時,會叫用此回呼方法。The callback method is invoked when the application domain is initialized.

public:
 property cli::array <System::String ^> ^ AppDomainInitializerArguments { cli::array <System::String ^> ^ get(); void set(cli::array <System::String ^> ^ value); };
public string[] AppDomainInitializerArguments { get; set; }
member this.AppDomainInitializerArguments : string[] with get, set
Public Property AppDomainInitializerArguments As String()

屬性值

String[]

AppDomain 初始化期間叫用 AppDomainInitializer 委派代表的回呼方法時,傳遞給這個回呼方法的字串陣列。An array of strings that is passed to the callback method represented by the AppDomainInitializer delegate, when the callback method is invoked during AppDomain initialization.

範例

下列程式碼範例會 ChildDomain 使用 AppDomainSetup 預設應用程式域中的物件和辨識項,建立名為的子應用程式域。The following code example creates a child application domain named ChildDomain, using an AppDomainSetup object and evidence from the default application domain. AppDomainInitializer屬性會設定為回呼方法,這個方法 AppDomainInit 會在初始化子定義域時叫用。The AppDomainInitializer property is set to the callback method AppDomainInit, which is invoked when the child domain is initialized. 回呼方法的引數會放在指派給屬性的字串陣列中 AppDomainInitializerArgumentsThe arguments for the callback method are placed in an array of strings, which is assigned to the AppDomainInitializerArguments property. 當建立子定義域時,回呼方法只會列印字串。When the child domain is created, the callback method simply prints the strings.

using namespace System;
using namespace System::Security::Policy;

public ref class AppDomainInitializerExample
{
    // The callback method invoked when the child application domain is
    // initialized. The method simply displays the arguments that were
    // passed to it.
    //
public:
    static void AppDomainInit(array<String^>^ args)
    {
        Console::WriteLine("AppDomain \"{0}\" is initialized with these " +
            "arguments:", AppDomain::CurrentDomain->FriendlyName);
        for each (String^ arg in args)
        {
            Console::WriteLine("    {0}", arg);
        }
    }
};

int main()
{
    // Get a reference to the default application domain.
    //
    AppDomain^ currentDomain = AppDomain::CurrentDomain;
    
    // Create the AppDomainSetup that will be used to set up the child
    // AppDomain.
    AppDomainSetup^ domainSetup = gcnew AppDomainSetup();

    // Use the evidence from the default application domain to
    // create evidence for the child application domain.
    //
    Evidence^ evidence = gcnew Evidence(currentDomain->Evidence);

    // Create an AppDomainInitializer delegate that represents the
    // callback method, AppDomainInit. Assign this delegate to the
    // AppDomainInitializer property of the AppDomainSetup object.
    //
    AppDomainInitializer^ domainInitializer =
        gcnew AppDomainInitializer(AppDomainInitializerExample::AppDomainInit);
    domainSetup->AppDomainInitializer = domainInitializer;

    // Create an array of strings to pass as arguments to the callback
    // method. Assign the array to the AppDomainInitializerArguments
    // property.
    array<String^>^ initialArguments = {"String1", "String2"};
    domainSetup->AppDomainInitializerArguments = initialArguments;

    // Create a child application domain named "ChildDomain", using
    // the evidence and the AppDomainSetup object.
    //
    AppDomain^ appDomain = AppDomain::CreateDomain("ChildDomain",
        evidence, domainSetup);

    Console::WriteLine("Press the Enter key to exit the example program.");
    Console::ReadLine();
}

/* This code example produces the following output:

AppDomain "ChildDomain" is initialized with these arguments:
String1
String2
*/
using System;
using System.Security.Policy;

public class Example
{
    public static void Main()
    {
        // Get a reference to the default application domain.
        //
        AppDomain current = AppDomain.CurrentDomain;

        // Create the AppDomainSetup that will be used to set up the child
        // AppDomain.
        AppDomainSetup ads = new AppDomainSetup();

        // Use the evidence from the default application domain to
        // create evidence for the child application domain.
        //
        Evidence ev = new Evidence(current.Evidence);

        // Create an AppDomainInitializer delegate that represents the
        // callback method, AppDomainInit. Assign this delegate to the
        // AppDomainInitializer property of the AppDomainSetup object.
        //
        AppDomainInitializer adi = new AppDomainInitializer(AppDomainInit);
        ads.AppDomainInitializer = adi;

        // Create an array of strings to pass as arguments to the callback
        // method. Assign the array to the AppDomainInitializerArguments
        // property.
        string[] initArgs = {"String1", "String2"};
        ads.AppDomainInitializerArguments = initArgs;

        // Create a child application domain named "ChildDomain", using
        // the evidence and the AppDomainSetup object.
        //
        AppDomain ad = AppDomain.CreateDomain("ChildDomain", ev, ads);

        Console.WriteLine("Press the Enter key to exit the example program.");
        Console.ReadLine();
    }

    // The callback method invoked when the child application domain is
    // initialized. The method simply displays the arguments that were
    // passed to it.
    //
    public static void AppDomainInit(string[] args)
    {
        Console.WriteLine("AppDomain \"{0}\" is initialized with these arguments:",
            AppDomain.CurrentDomain.FriendlyName);
        foreach (string arg in args)
        {
            Console.WriteLine("    {0}", arg);
        }
    }
}

/* This code example produces the following output:

AppDomain "ChildDomain" is initialized with these arguments:
    String1
    String2
 */
Imports System.Security.Policy

Public Class Example

    Public Shared Sub Main()

        ' Get a reference to the default application domain.
        '
        Dim current As AppDomain = AppDomain.CurrentDomain

        ' Create the AppDomainSetup that will be used to set up the child
        ' AppDomain.
        Dim ads As New AppDomainSetup()

        ' Use the evidence from the default application domain to
        ' create evidence for the child application domain.
        '
        Dim ev As Evidence = New Evidence(current.Evidence)

        ' Create an AppDomainInitializer delegate that represents the 
        ' callback method, AppDomainInit. Assign this delegate to the
        ' AppDomainInitializer property of the AppDomainSetup object.
        '
        Dim adi As New AppDomainInitializer(AddressOf AppDomainInit)
        ads.AppDomainInitializer = adi

        ' Create an array of strings to pass as arguments to the callback
        ' method. Assign the array to the AppDomainInitializerArguments
        ' property.
        Dim initArgs() As String = {"String1", "String2"}
        ads.AppDomainInitializerArguments = initArgs

        ' Create a child application domain named "ChildDomain", using 
        ' the evidence and the AppDomainSetup object.
        '
        Dim ad As AppDomain = _
            AppDomain.CreateDomain("ChildDomain", ev, ads)

        Console.WriteLine("Press the Enter key to exit the example program.")
        Console.ReadLine()
    End Sub

    ' The callback method invoked when the child application domain is
    ' initialized. The method simply displays the arguments that were
    ' passed to it.
    '
    Public Shared Sub AppDomainInit(ByVal args() As String)
        Console.WriteLine("AppDomain ""{0}"" is initialized with these arguments:", _
            AppDomain.CurrentDomain.FriendlyName)
        For Each arg As String In args
            Console.WriteLine("    {0}", arg)
        Next
    End Sub
End Class

' This code example produces the following output:
'
'AppDomain "ChildDomain" is initialized with these arguments:
'    String1
'    String2

備註

AppDomainInitializer 可以使用屬性來指定初始化期間叫用的回呼方法 AppDomainUse the AppDomainInitializer property to specify a callback method that is invoked during AppDomain initialization. 如果 AppDomainInitializer 未設定屬性,則不會使用指派給這個屬性的陣列。If the AppDomainInitializer property is not set, the array assigned to this property is not used.

回呼方法是在新建立之應用程式域的內容中執行。The callback method is executed in the context of the newly created application domain.

適用於

另請參閱