在C#中,可以使用反射來讀取和修改元數據。以下是一些常用的技巧:
Type
類可以獲取類型的各種元數據信息,例如屬性、方法、字段等。可以使用GetProperties()
、GetMethods()
、GetFields()
等方法來獲取相應的元數據信息。Type type = typeof(MyClass);
PropertyInfo[] properties = type.GetProperties();
MethodInfo[] methods = type.GetMethods();
FieldInfo[] fields = type.GetFields();
PropertyInfo
類可以讀取和修改屬性的值。可以使用GetValue()
和SetValue()
方法來獲取和設置屬性的值。PropertyInfo property = type.GetProperty("MyProperty");
object value = property.GetValue(obj);
property.SetValue(obj, newValue);
FieldInfo
類可以讀取和修改字段的值。可以使用GetValue()
和SetValue()
方法來獲取和設置字段的值。FieldInfo field = type.GetField("myField");
object value = field.GetValue(obj);
field.SetValue(obj, newValue);
MethodInfo
類可以調用方法。可以使用Invoke()
方法來調用方法,并傳遞相應的參數。MethodInfo method = type.GetMethod("MyMethod");
method.Invoke(obj, parameters);
GetCustomAttributes()
方法來獲取類型、屬性、字段等的自定義屬性。MyAttribute[] attributes = (MyAttribute[])type.GetCustomAttributes(typeof(MyAttribute), false);
通過以上技巧,可以方便地讀取和修改C#中的元數據信息。