Computer >> Máy Tính >  >> Lập trình >> C#

Không gian tên System.Reflection trong C #

Không gian tên System.Reflection trong C # Không gian tên System.Reflection trong C # chứa các kiểu cung cấp thông tin về hợp ngữ, mô-đun, thành viên, tham số và các mục khác trong mã bằng cách kiểm tra siêu dữ liệu. Lớp Assembly trong không gian tên này đại diện cho một hợp ngữ. Thông thường, bạn có thể truy cập nó bằng cách sử dụng thuộc tính Assembly trên Type.

Danh tính của một assembly bao gồm bốn mục -

  • Tên đơn giản
  • Phiên bản từ thuộc tính AssemblyVersion ở định dạng major.minor.build.revision (0.0.0.0 nếu không có)
  • Văn hóa (trung lập nếu không phải là vệ tinh)
  • Mã thông báo khóa công khai (rỗng nếu không được đặt tên rõ ràng)

Tên hợp ngữ đủ điều kiện đầy đủ hơn là một chuỗi và nó bao gồm các mục nhận dạng này ở định dạng -

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

Ví dụ:

Assembly assembly = typeof (Person).Assembly; // Person is a class name
// Prints: c-sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Console.WriteLine(assembly.FullName);

Lắp ráp Nạp là quá trình tải một lắp ráp từ một vị trí đã biết. Thông thường, CLR có thể tải assembly bằng tên đầy đủ của nó. Quá trình này được gọi là giải quyết lắp ráp. Việc phân giải hợp ngữ được thực hiện khi CLR cần giải quyết một phần phụ thuộc hoặc bạn, với tư cách là một lập trình viên, muốn tải động một hợp ngữ bằng cách sử dụng phương thức Assembly.Load (assemblyName).