写在前面
在日常开发中,我们经常使用反射来动态获取关于类的信息,或者是动态给类实例成员赋值;反射提供了封装程序集、模块和类型的对象(Type 类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。
代码实现
using System.Reflection;
class ReflectionDemo
{
static void Main(string[] args)
{
Assembly myAssembly = Assembly.Load("ReflectionDemo");
var types = myAssembly.GetTypes();//获取类型
foreach (Type type in types)//针对每个类型获取详细信息
{
if (type.Name != "MyClass") continue;
Console.WriteLine($"type name:{type.Name}");
Console.WriteLine($"is interface:{type.IsInterface}");
//获取类型的结构信息
var myConstructors = type.GetConstructors();
Console.WriteLine($"constructor count: {myConstructors.Length}");
//获取类型的字段信息
var myFields = type.GetFields();
Console.WriteLine($"field count: {myFields.Length}");
//获取方法信息
var myMet

最低0.47元/天 解锁文章
2230

被折叠的 条评论
为什么被折叠?



