文档介绍:
免责声明:图文来源于网络搜集,版权归原作者所以
若侵犯了您的合法权益,请作者与本上传人联系,我们将及时更正删除。
关于net学****心得
:,,包括类、结构、委托和枚举的成员,包括方法、属性、事件,以及构造函数等。有了反射,既可以对每一个类型了如指掌。
下面来演示一下反射的实例
(1)新建一个类库项目。在解决方案上单击右键选择添加“新建项目”,在弹出来的框中选择“类库”,在下面名字栏中输入classlib。然后删除class1类,新添加一个类“classperson”,添加如下代码:
namespace classlib
{
public class classperson
{
public classperson():this(null)
{
}
public classperson(string strname)
{
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; }
}
public void sayhello()
{
if (null==name)
免责声明:图文来源于网络搜集,版权归原作者所以
若侵犯了您的合法权益,请作者与本上传人联系,我们将及时更正删除。
("hello world");
else
("hello," + name);
}
}
}
添加完之后编译生成一下,。然后添加一个控制台应用程序。。添加的代码如下:
using system;
using ;
using ;
using ;
using ;//添加反射的命名空间
namespace consoleapplication4
{
public class program
{
static void main(string[] args)
{
("列出程序集中的所有类型");
assembly ass = ("");
免责声明:图文来源于网络搜集,版权归原作者所以
若侵犯了您的合法权益,请作者与本上传人联系,我们将及时更正删除。
type[] mytype = ();
type classperson = null;
foreach (type p in mytype)
{
();
if (=="classperson")
{
classperson = p;
}
}
("列出classpersonl类中的所有的方法");
methodinfo[] md = ();
foreach(methodinfo m in md)
{
();
}
("实