热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#的Type对象的简单应用

通过Type对象可以获取类中所有的公有成员直接贴代码:classMyClass{privatestringname;privateintid;publicstringcity;pu

通过Type对象可以获取类中所有的公有成员

直接贴代码:


class MyClass
{
private string name;
private int id;
public string city;
public int number;

public string yifu { get;private set; }//对外部只读不取

private string kuzi { get; set; }

public void setYifu(string yifu)
{
this.yifu = "yifu";

}

public void method1() { }

private void method2() { }
}
static void Main(string[] args)
{
//string Name = "testing1";
//Type type = typeof(Name);//不成立,type只能指向类


MyClass myclass
= new MyClass();
Type type
= myclass.GetType();
Console.WriteLine(type.Assembly);
//获取所在程序集

Console.WriteLine(type.Namespace);
//获取所在命名空间

Console.WriteLine(type.Name);
//获取类名

FieldInfo[] FieldArray
= type.GetFields();//将类中公有字段添加进array中,私有的没有权限所以访问不到
foreach (var fInfo in FieldArray)
{
Console.WriteLine(fInfo.Name);
//获取字段名

}

PropertyInfo[] propertyArray
= type.GetProperties();
//PropertyInfo propertyName = type.GetProperty("yifu");
foreach (var pInfo in propertyArray)//获取公有属性

{
Console.WriteLine(pInfo.Name);
//获取属性名

}

MethodInfo[] methodArray
= type.GetMethods();
foreach (var mInfo in methodArray)//获取公有方法

{
Console.WriteLine(mInfo.Name);
//获取方法名,会输出包括系统预定义的如ToString,GetHashCode等方法

}
//通过Type对象可以获取类中所有的公有成员

}

输出结果:

技术图片

 

C#的Type对象的简单应用



推荐阅读
author-avatar
EEeeen_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有