1.创建一个应用程序域application domain
AppDomain d = AppDomain.CreateDomain("MyDomain");
Console.WriteLine(AppDomain.CurrentDomain.FriendlyName);
//获取当前应用程序域的友好名称
Console.WriteLine(d.FriendlyName);
//获取应用程序域的友好名称

图片1
当前程序所在的项目就是:Csharp,在资源管理器中还可以看到一个进程:

图片2
2.利用AppDomain类来执行程序集
if (AppDomain.CurrentDomain.FriendlyName != "MyAppDomain")
{//如果当前应用程序域的名称不是MyAppDomain
//那么创建对象的应用程序域
AppDomain domain = AppDomain.CreateDomain("MyAppDomain");
domain.ExecuteAssembly("Csharp.exe", null, args);
//使用指定的参数运行指定文件中的程序集
}
3获取或设置AppDomain类的数据
setData(),getData()这两个方法来设置和获取数据
AppDomain d = AppDomain.CreateDomain("MyDomain");
Console.WriteLine(AppDomain.CurrentDomain.FriendlyName);
ArrayList list = new ArrayList();
list.Add("alive");
list.Add("silver");
list.Add("dog");
list.Add("Ftp");
d.SetData("para", list);
//将制定的值赋值给应用程序域的属性
foreach (string s in (ArrayList)d.GetData("para"))
{// 获取存在当前应用程序域中的值
Console.WriteLine("you will see" + s);
}
程序运行结果如下:

图片3
4.显示应用程序域中的所有程序集
要实现这个,就必须增加引用:using System. Reflection;映射
AppDomain d = AppDomain.CreateDomain("MyDomain");
Console.WriteLine(AppDomain.CurrentDomain.FriendlyName);
Console.WriteLine("in " + d.FriendlyName);//
Assembly[] myass = d.GetAssemblies();
//获取当前应用程序域中所有程序集
foreach (Assembly ass in myass)
{
Console.WriteLine("it's name:" + ass.GetName().Name);
Console.WriteLine("it's version:" + ass.GetName().Version);
//获取程序集的名称和版本
}

图片4
这里显示了当前Csharp程序运行时候所涉及到的程序集。
在前面的学习过程中,多次介绍到了命名空间,namespace;在C#的编程过程中,如果没有引用某一个命名空间,那么很多相关的类就不能创建对象,或者在程序的运行过程中会出现编译错误..
在OOP程序设计过程中,一个类都由方法和属性,字段组成;那么一个命名空间则是由一个以上的类组成,在这里命名空间中有许多内置的类可以调用。
现在来看下一个简单的命名空间:

图片5
那么我们在另外一个文件中可以引用这个命名空间下的类了。
Using Csharp;
Csharp.Program pr=new Csharp.Program();
这样就完成了命名空间的设计和引用。
本文详细介绍了C#程序设计中的应用程序域概念,包括如何创建应用程序域、利用AppDomain类执行程序集、获取或设置AppDomain类的数据以及显示应用程序域中的所有程序集。此外,还解释了命名空间在C#编程过程中的重要性,并展示了如何在不同文件中引用命名空间下的类。
2102

被折叠的 条评论
为什么被折叠?



