在C#中,反射機制的類型發現和獲取方法主要通過System.Reflection命名空間提供的類和方法來實現。以下是一些常用的類型發現和獲取方法:
Assembly assembly = Assembly.GetExecutingAssembly(); // 獲取當前程序集
Type[] types = assembly.GetTypes(); // 獲取程序集中所有的類型
Type type = typeof(MyClass); // 獲取指定類型的Type對象
MemberInfo[] members = type.GetMembers(); // 獲取類型中的所有成員信息
object obj = Activator.CreateInstance(type); // 創建指定類型的實例
MethodInfo method = type.GetMethod("MyMethod"); // 獲取指定名稱的方法信息
PropertyInfo property = type.GetProperty("MyProperty"); // 獲取指定名稱的屬性信息
通過這些方法,可以實現在運行時動態地獲取程序集、類型、成員信息,并進行相關操作。反射機制在一些場景下非常有用,比如通過配置文件來動態加載類型、實現插件機制等。需要注意的是,反射操作相對較為復雜且性能較低,應謹慎使用。