Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Namespace System.Reflection trong C#

Namespace System.Reflection trong C# chứa các kiểu cung cấp thông tin về assemblies, modules, members, parameters và các mục khác trong code bằng cách kiểm tra metadata. Lớp Assembly trong namespace này đại diện cho một assembly. Thông thường truy cập qua thuộc tính Assembly trên một Type.

Danh tính (identity) của một assembly bao gồm 4 mục:

  • Tên đơn giản (Simple name)
  • Phiên bản (Version) từ attribute AssemblyVersion dạng major.minor.build.revision (0.0.0.0 nếu thiếu)
  • Văn hóa (Culture) (neutral nếu không phải satellite)
  • Public key token (null nếu không strong-named)

Tên assembly đủ điều kiện là chuỗi bao gồm các mục nhận dạng ở dạng:

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

Ví dụ:

Assembly assembly = typeof(Person).Assembly; // Person là tên lớp
// In ra: c-sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Console.WriteLine(assembly.FullName);

Assembly Loading (nạp assembly) là quá trình nạp assembly từ vị trí biết trước. Thông thường CLR nạp assembly bằng tên đầy đủ. Quá trình này gọi là assembly resolution. Assembly resolution diễn ra khi CLR cần giải quyết phụ thuộc hoặc lập trình viên muốn nạp assembly động bằng Assembly.Load(assemblyName).