C# 中的 System.Reflection 命名空间

csharpserver side programmingprogramming更新于 2025/9/11 19:22:17

C# 中的 System.Reflection 命名空间 C# 中的 System.Reflection 命名空间包含一些类型,它们通过检查元数据来提供有关程序集、模块、成员、参数以及代码中其他项的信息。此命名空间中的 Assembly 类表示一个程序集。通常,您可以使用类型的 Assembly 属性来访问它。

程序集的标识由四项组成 −

  • 简单名称
  • 来自 AssemblyVersion 属性的版本,格式为 major.minor.build.revision(如果不存在,则为 0.0.0.0)
  • 文化(如果不是附属文化,则为中性)
  • 公钥令牌(如果不是强命名,则为 null)

更完整的限定程序集名称是一个字符串,它包含以下格式的标识项 −

simple-name, Version=version, Culture=culture, PublicKeyToken=public-key

例如,

Assembly Assembly = typeof (Person).Assembly; // Person 是一个类名
// 打印:c-sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Console.WriteLine(assembly.FullName);

程序集加载是从已知位置加载程序集的过程。通常,CLR 可以使用程序集的全名来加载程序集。此过程称为程序集解析。当 CLR 需要解析依赖项,或者您作为程序员想要使用 Assembly.Load(assemblyName) 方法动态加载程序集时,就会执行程序集解析。


相关文章