精通.net核心技术 原理与构架(二)
程序集:
public class Class1
{
public void Doit(string pStr)
{
MessageBox.Show(pStr);
}
}
private void button1_Click(object sender, EventArgs e)
{
Assembly bly = Assembly.Load("dd");
Type t = bly.GetType("dd.Class1");
object oo = bly.CreateInstance(t.FullName);
object[] oArgvs = new object[1];
MethodInfo method = t.GetMethod("Doit");
oArgvs[0] = "中华人民共和国";
method.Invoke(oo, oArgvs);
}
-----------------------------
System.Reflection命名空间
(1) AppDomain:应用程序域,可以将其理解为一组程序集的逻辑容器
(2) Assembly:程序集类
(3) Module:模块类
(4) Type:使用反射得到类型信息的最核心的类
他们之间是一种从属关系,也就是说,一个AppDomain可以包含N个Assembly,一个Assembly可以包含N个Module,而一个Module可以包含N个Type
Assembly.Load();
Assembly.LoadFile();
Assembly.LoadFrom();
Assembly.LoadWithPartialName();
------------------------------------------------------------------
版本号的组成主要有4个部分的号码
Major(主版本号)1
Minor(次版本号)5
Build(生成版本号/内部版本号)2541
Revision(修订版本号)0
如:
1.5.2541.0
签名.
第八章 程序集高级技术
反射. (见分类)
第十章 创建和使用资源
ResourceManager
ResourceWriter
AddResource
Generate
ResourceManager rm;
rm.GetString
rm.GetObject
ResourceManager.CreateFileBasedResourceManager