Illustrates unloading an application domain : Reflection Assembly « Development Class « C# / C Sharp






Illustrates unloading an application domain

/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy

Publisher: Sybex;
ISBN: 0782129110
*/

/*
  Example18_4.cs illustrates unloading an application domain
*/

using System;
using System.Runtime.Remoting;
using System.Reflection;

public class Example18_4 
{

  public static void Main() 
  {

    // create a new appdomain
    AppDomain d = AppDomain.CreateDomain("NewDomain");
    
    // load an instance of the SimpleObject class
    ObjectHandle hobj = d.CreateInstance("Example18_2", "SimpleObject");
    // use a local variable to access the object
    SimpleObject so = (SimpleObject) hobj.Unwrap();
    Console.WriteLine(so.ToUpper("make this uppercase"));

    // unload the application domain
    AppDomain.Unload(d);
    Console.WriteLine(so.ToUpper("make this uppercase"));

  }

}


//===================================================

/*
  Example18_2.cs defines a simple object to create
*/

using System;

[Serializable]
public class SimpleObject 
{

  public String ToUpper(String inString)
  {
    return(inString.ToUpper());
  }

}



           
       








Related examples in the same category

1.Get Method ParamemtersGet Method Paramemters
2.Get type infomation: base type, is abstract, is com object, is sealed, is classGet type infomation: base type, is abstract, is com object, is sealed, is class
3.Get all methods from a classGet all methods from a class
4.Get all fields from a classGet all fields from a class
5.Get all properties from a classGet all properties from a class
6.Get all implemented interface from a classGet all implemented interface from a class
7.Using reflection to get information about an assembly
8.Demonstrate using Type class to discover information about a classDemonstrate using Type class to discover information about a class
9.Demonstrate dynamically invoking an object
10.Locate an assembly, determine types, and create an object using reflection
11.Utilize MyClass without assuming any prior knowledge
12.Uses reflection to show the inherited members of a classUses reflection to show the inherited members of a class
13.Uses reflection to execute a class method indirectlyUses reflection to execute a class method indirectly
14.Deeper Reflection: Invoking Functions
15.Illustrates runtime type invocation
16.Demonstrate typeofDemonstrate typeof
17.Create an object using reflectionCreate an object using reflection
18.Uses an object in another application domain
19.Illustrates creation of an application domainIllustrates creation of an application domain