- C# 提取逗号分割的字符串
- dtcms插件开发
- 一个网站可以优化几个主关键词
- ASP.NET的内置对象详解
- thinkphp中Create的用法
- thinkphp中explode
- C#多线程函数如何传参数和返回值
- 编写跨浏览器兼容的 CSS 代码的金科玉律
- 什么是空壳网站
- 在ASP.Net中利用JS调用Aspx页面的输出
邮箱:
手机:15383239821
c#中的Type类
Type类,用来包含类型的特性。对于程序中的每一个类型,都会有一个包含这个类型的信息的Type类的对象,类型信息包含数据,属性和方法等信息。
1.生成Type对象
有两种方法可以生成Type类的对象:一种是Typeof(类名),一种是对象调用GetType()函数。
Type type = typeof(Person);
Person person = new Person();
Type type2 = person.GetType();
2.获取类的信息
//类的名称
string name = type.Name;
//类的命名空间
string space = type.Namespace;
//类的程序集
Assembly assembly = type.Assembly;
//类的共有字段
FieldInfo[] fieldInfos = type.GetFields();
//类的属性
PropertyInfo[] propertyInfos = type.GetProperties();
//类的方法
MethodInfo[] methodInfos = type.GetMethods();
3.代码实例
using System;
using System.Reflection;
namespace ConsoleApp2
{
public class Person
{
public int Id;
public string Name;
public int Age { get; set; }
public string Department { get; set; }
public void Print()
{
string str = string.Format("{0} {1} {2} {3}", Id, Name, Age, Department);
Console.WriteLine(str);
}
}
class Program
{
static void Main(string[] args)
{
Person person = new Person();
Type type = person.GetType();
//类的名称
Console.WriteLine("类的名称: " + type.Name);
//类的命名空间
Console.WriteLine("类的命名空间: " + type.Namespace);
//类的共有字段
Console.Write("类的共有字段: ");
FieldInfo[] fieldInfos = type.GetFields(); //如果字段不带public,则这里不显示字段
foreach (FieldInfo info in fieldInfos)
{
Console.Write(info.Name + " ");
}
Console.WriteLine();
//类的属性
Console.Write("类的属性: ");
PropertyInfo[] propertyInfos = type.GetProperties();
foreach (PropertyInfo info in propertyInfos)
{
Console.Write(info.Name + " ");
}
Console.WriteLine();
//类的方法
Console.Write("类的方法: ");
MethodInfo[] methodInfos = type.GetMethods();
foreach (MethodInfo info in methodInfos)
{
Console.Write(info.Name + " ");
}
Console.WriteLine();
//类的程序集
Assembly assembly = type.Assembly;
Console.WriteLine("类的程序集: " + assembly.FullName);
//当前程序集下所有的类型
Console.Write("当前程序集下所有的类型: ");
Type[] types = assembly.GetTypes();
foreach (Type item in types)
{
Console.Write(item + " ");
}
Console.WriteLine();
Console.ReadKey();
}
}
}
运行结果

- 上一篇:C#中值类型如何设置为null
- 下一篇:i++和++i的区别
-
2012-06-30每日办好这四个范围就可以办好你的网站
-
2023-09-18查看composer配置信息及更改composer 源地址
-
2012-07-02网站降权恢复:对症下药 解铃还须系铃人
-
2024-10-30常用MIME类型(Flv,Mp4的mime类型设置)
-
2010-07-20除了seo我们还有很多东西要学习-转载
-
2026-04-15c#判断元素是否在数组中
