在C#中,可以使用System.Reflection命名空間來使用反射。以下是使用反射的一些常用方法:
Type type = typeof(MyClass); // 獲取類的類型信息
object obj = Activator.CreateInstance(type); // 創建類的實例
PropertyInfo propertyInfo = type.GetProperty("PropertyName"); // 獲取屬性信息
MethodInfo methodInfo = type.GetMethod("MethodName"); // 獲取方法信息
object result = methodInfo.Invoke(obj, parameters); // 調用方法
propertyInfo.SetValue(obj, value); // 設置屬性值
FieldInfo fieldInfo = type.GetField("FieldName"); // 獲取字段信息
Attribute attribute = Attribute.GetCustomAttribute(type, typeof(MyAttribute)); // 獲取類的特性信息
通過反射,可以在運行時動態獲取和操作類型的成員信息,對于一些需要在運行時才能確定的情況下非常有用。但需要注意反射會導致性能開銷,應謹慎使用。