C# 如何运行时获得一个类的属性个数及其名字、类型
2014-03-24 11:26
169 查看
static void Main(string[] args)
{
MyClass mc = new MyClass();
Type t = mc.GetType();
Console.WriteLine("字段:");
foreach (FieldInfo fi in t.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
Console.WriteLine("名称:" + fi.Name + ",类型:" + fi.FieldType.Name);
Console.WriteLine("属性:");
foreach(PropertyInfo pi in t.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
Console.WriteLine("名称:" + pi.Name + ",类型:" + pi.PropertyType.Name);
Console.WriteLine("方法:");
foreach(MethodInfo mi in t.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
Console.WriteLine("名称:"+mi.Name+",返回类型:"+mi.ReturnType.Name);
}
class MyClass
{
private int i;
public int I;
private string s;
public string S
{
get { return s; }
set { s = value; }
}
public void Method()
{ }
}
{
MyClass mc = new MyClass();
Type t = mc.GetType();
Console.WriteLine("字段:");
foreach (FieldInfo fi in t.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
Console.WriteLine("名称:" + fi.Name + ",类型:" + fi.FieldType.Name);
Console.WriteLine("属性:");
foreach(PropertyInfo pi in t.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
Console.WriteLine("名称:" + pi.Name + ",类型:" + pi.PropertyType.Name);
Console.WriteLine("方法:");
foreach(MethodInfo mi in t.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
Console.WriteLine("名称:"+mi.Name+",返回类型:"+mi.ReturnType.Name);
}
class MyClass
{
private int i;
public int I;
private string s;
public string S
{
get { return s; }
set { s = value; }
}
public void Method()
{ }
}
相关文章推荐
- Java如何获得一个类里面的各个属性和类型
- Java如何获得一个类里面的各个属性和类型
- Java如何获得一个类里面的各个属性和类型
- Java如何获得一个类里面的各个属性和类型
- Java如何获得一个类里面的各个属性和类型
- Java如何获得一个类里面的各个属性和类型
- 在C#如何遍历一个对象的所有属性
- c# 程序只能运行一次(多次运行只能打开同一个程序) 并激活第一个实例,使其获得焦点,并在最前端显示.
- mysql密码为空时,c#如何运行一条cmd命令导入sql文件到数据库并获得mysql的输出
- 如何获得数据库里所有表的名字(SQL+C#)
- C#中如何防止一个程序运行多个副本(转载)
- 如何在运行时(Runtime)获得泛型的真正类型
- Oracle 远程访问配置 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标 C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素” C#[Win32&WinCE&WM]应用程序只能运行一个实例:MutexHelper Decimal类型截取保留N位小数向上取, Decimal类型截取保留N位小数并且不进行四舍五入操作
- C# 获得当前文件夹内所有文件的名称,大小,类型,属性,日期的函数
- 如何获得数据库里所有表的名字(SQL+C#)
- 如何获得数据库里所有表的名字(SQL+C#)
- 如何用SC获得Windows Service的启动类型,运行状态, 修改启动类型
- c# 程序只能运行一次(多次运行只能打开同一个程序) 并激活第一个实例,使其获得焦点,并在最前端显示.
- 如何用C#代码判断一个类的类型
- 如何获得运行在跨平台的信息和属性的情况下,文件