反射
什么是元数据:
什么是反射:
核心类:Type
MyMethod myMethod = new MyMethod();
Type type = myMethod.GetType();
Console.WriteLine("类名:" + type.Name);
Console.WriteLine("命名空间:" + type.Namespace);
Console.WriteLine("程序集::" + type.Assembly);
FieldInfo[] fieldInfos = type.GetFields(); //还有个GetField
foreach (FieldInfo fieldInfo in fieldInfos)
{
//公共字段
Console.WriteLine("字段名称:" + fieldInfo);
}
PropertyInfo[] propertyInfos = type.GetProperties();
foreach (PropertyInfo propertyInfo in propertyInfos)
{
Console.WriteLine("属性名称:" + propertyInfo);
}
MethodInfo[] methodInfos = type.GetMethods();
foreach (MethodInfo methodInfo in methodInfos)
{
Console.WriteLine("方法名称:" + methodInfo);
}
程序集
MyMethod myMethod = new MyMethod();
Assembly assembly = myMethod.GetType().Assembly;
Console.WriteLine("程序集的名字:"+assembly.FullName);
Type[] types = assembly.GetTypes();
foreach (Type type in types)
{
//有哪些类
Console.WriteLine("type是:"+type);
}
Console.ReadKey();
关系:程序集包含类的信息,通过类的实例化可以获取程序集
关注公众号Unity科技获取更多资源