---------------------------------------------------------------范文最新推荐------------------------------------------------------
.net学习心得
1.反射:反射是.net中的重要机制,通过反射可以在运行时获得.net中每一个类型,包括类、结构、委托和枚举的成员,包括方法、属性、事件,以及构造函数等。有了反射,既可以对每一个类型了如指掌。 下面来演示一下反射的实例
(1)新建一个类库项目。在解决方案上单击右键选择添加“新建项目”,在弹出来的框中选择“类库”,在下面名字栏中输入classlib。然后删除class1类,新添加一个类“classperson”,添加如下代码: namespace classlib {
public class classperson {
classperson():this(null)
{ } classperson(string strname)
{
1 / 13
public
public
name = strname;
}
private string name;
private string sex;
private int age; public string name
{
get { return name; }
set { name = value; }
}
public string sex {
get { return sex; }
set { sex = value; }
---------------------------------------------------------------范文最新推荐------------------------------------------------------
}
public int age {
get { return age; }
set { age = value; }
} sayhello()
{
if (null==name)
world”);
else
console.writeline(“hello,” + name);
3 / 13
public void
console.writeline(“hello
} } }
添加完之后编译生成一下,就会在这个类库项目中的bindebug中有一个classlib.dll文件。然后添加一个控制台应用程序。引入system.reflaction的命名空间。添加的代码如下: using system;
using system.collections.generic; using system.linq; using system.text;
using system.reflection;//添加反射的命名空间 namespace consoleapplication4 {
public class program {
main(string[] args)
{
console.writeline(“列出程序集中的所有类型”); assembly ass = assembly.loadfrom(“classlib.dll”);
static
void
---------------------------------------------------------------范文最新推荐------------------------------------------------------
type[] mytype = ass.gettypes();
type classperson = null;
foreach (type p in mytype)
{
console.writeline(p.name); if (p.name==“classperson”) {
classperson = p;
}
 
5 / 13
.net学习心得
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)