C# 反射:类型信息、对象创建、属性访问、方法调用、字段访问 - 代码示例
C# 反射:类型信息、对象创建、属性访问、方法调用、字段访问 - 代码示例
C# 反射允许你在运行时获取类型信息并操作对象。这在需要动态操作代码或无法预知类型的情况下非常有用。
以下是 C# 反射常用操作的示例:
1. 获取类型信息
Type type = typeof(MyClass);
2. 创建对象实例
MyClass obj = (MyClass)Activator.CreateInstance(typeof(MyClass));
3. 访问属性
PropertyInfo propertyInfo = type.GetProperty('MyProperty');
object propertyValue = propertyInfo.GetValue(obj);
4. 调用方法
MethodInfo methodInfo = type.GetMethod('MyMethod');
methodInfo.Invoke(obj, null);
5. 访问字段
FieldInfo fieldInfo = type.GetField('MyField');
object fieldValue = fieldInfo.GetValue(obj);
6. 获取所有方法
MethodInfo[] methods = type.GetMethods();
7. 获取所有属性
PropertyInfo[] properties = type.GetProperties();
8. 获取所有字段
FieldInfo[] fields = type.GetFields();
9. 获取所有构造函数
ConstructorInfo[] constructors = type.GetConstructors();
10. 获取注释
MemberInfo memberInfo = type.GetMember('MyMember');
object[] attributes = memberInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
通过以上代码示例,你可以了解如何使用 C# 反射来获取类型信息、创建对象实例、访问属性和字段、调用方法以及获取注释。反射是一个强大的工具,可以帮助你构建更加灵活和可扩展的代码。
原文地址: https://www.cveoy.top/t/topic/mVvM 著作权归作者所有。请勿转载和采集!