AppDomain.IsDefaultAppDomain Method

Definition

Returns a value that indicates whether the application domain is the default application domain for the process.

public:
 bool IsDefaultAppDomain();
public bool IsDefaultAppDomain ();
member this.IsDefaultAppDomain : unit -> bool
Public Function IsDefaultAppDomain () As Boolean

Returns

true if the current AppDomain object represents the default application domain for the process; otherwise, false.

Examples

The following code example creates a second application domain and displays information about the default domain and the new domain.

using namespace System;
using namespace System::Reflection;

// This method has the same signature as the CrossAppDomainDelegate,
// so that it can be executed easily in the new application domain.
//
static void ShowDomainInfo()
{
    AppDomain^ ad = AppDomain::CurrentDomain;
    Console::WriteLine();
    Console::WriteLine( L"FriendlyName: {0}", ad->FriendlyName );
    Console::WriteLine( L"Id: {0}", ad->Id );
    Console::WriteLine( L"IsDefaultAppDomain: {0}", ad->IsDefaultAppDomain() );
}

// The following attribute indicates to the loader that assemblies
// in the global assembly cache should be shared across multiple 
// application domains.
//
[LoaderOptimizationAttribute(LoaderOptimization::MultiDomainHost)]
int main()
{
    // Show information for the default application domain.
    ShowDomainInfo();

    // Create a new application domain and display its information.
    AppDomain^ newDomain = AppDomain::CreateDomain( L"MyMultiDomain" );
    newDomain->DoCallBack( gcnew CrossAppDomainDelegate( ShowDomainInfo ) );

    return 0;
}
using System;
using System.Reflection;

public class AppDomainIdSnippet
{
    // The following attribute indicates to the loader that assemblies
    // in the global assembly cache should be shared across multiple
    // application domains.
    [LoaderOptimizationAttribute( LoaderOptimization.MultiDomainHost)]
    public static void Main()
    {
        // Show information for the default application domain.
        ShowDomainInfo();

        // Create a new application domain and display its information.
        AppDomain newDomain = AppDomain.CreateDomain("MyMultiDomain");
        newDomain.DoCallBack(new CrossAppDomainDelegate(ShowDomainInfo));
    }

    // This method has the same signature as the CrossAppDomainDelegate,
    // so that it can be executed easily in the new application domain.
    //
    public static void ShowDomainInfo()
    {
        AppDomain ad = AppDomain.CurrentDomain;
        Console.WriteLine();
        Console.WriteLine("FriendlyName: {0}", ad.FriendlyName);
        Console.WriteLine("Id: {0}", ad.Id);
        Console.WriteLine("IsDefaultAppDomain: {0}", ad.IsDefaultAppDomain());
    }
}
open System

// This method has the same signature as the CrossAppDomainDelegate,
// so that it can be executed easily in the new application domain.
let showDomainInfo () =
    let ad = AppDomain.CurrentDomain
    printfn $"\nFriendlyName: {ad.FriendlyName}"
    printfn $"Id: {ad.Id}"
    printfn $"IsDefaultAppDomain: {ad.IsDefaultAppDomain()}"

// The following attribute indicates to the loader that assemblies
// in the global assembly cache should be shared across multiple
// application domains.
[<LoaderOptimizationAttribute(LoaderOptimization.MultiDomainHost)>]
[<EntryPoint>]
let main _ =
    // Show information for the default application domain.
    showDomainInfo ()

    // Create a new application domain and display its information.
    let newDomain = AppDomain.CreateDomain "MyMultiDomain"
    newDomain.DoCallBack(CrossAppDomainDelegate showDomainInfo)
    0
Imports System.Reflection

Public Class Example
    
    ' The following attribute indicates to the loader that assemblies 
    ' in the global assembly cache should be shared across multiple
    ' application domains.
    <LoaderOptimizationAttribute(LoaderOptimization.MultiDomainHost)> _
    Public Shared Sub Main() 
        ' Show information for the default application domain.
        ShowDomainInfo()
        
        ' Create a new application domain and display its information.
        Dim newDomain As AppDomain = AppDomain.CreateDomain("MyMultiDomain")
        newDomain.DoCallBack(AddressOf ShowDomainInfo)
    
    End Sub
    
    
    ' This method has the same signature as the CrossAppDomainDelegate,
    ' so that it can be executed easily in the new application domain.
    ' 
    Public Shared Sub ShowDomainInfo() 
        Dim ad As AppDomain = AppDomain.CurrentDomain
        Console.WriteLine()
        Console.WriteLine("FriendlyName: {0}", ad.FriendlyName)
        Console.WriteLine("Id: {0}", ad.Id)
        Console.WriteLine("IsDefaultAppDomain: {0}", ad.IsDefaultAppDomain())
    
    End Sub 
End Class

Remarks

Every managed process has a default application domain. Execution begins in the default domain.

Applies to