C#程序集Assembly2009-07-19 本站 L小风一、Assembly1.创建一个应用程序域application domainAppDomain 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);}程序运行结果如下:

图片34.显示应用程序域中的所有程序集要实现这个,就必须增加引用: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();这样就完成了命名空间的设计和引用。