生命不止,继续 go go go !!!
reflect,即反射。对于C++程序员来说比较陌生,对于Java或是C#程序员来说理解反射就易如反掌了。
golang中为我们提供了reflect包用于反射,在这样跟诸位一起学习进步,只是浅尝辄止罢了。
C#中反射
反射指程序可以访问、检测和修改它本身状态或行为的一种能力。
程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。
您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。
例如,
查看类的属性:
NewClassw nc = new NewClassw();
Type t = nc.GetType();
PropertyInfo[] pis = t.GetProperties();
foreach(PropertyInfo pi in pis)
{
Console.WriteLine(pi.Name);
}