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

Các ứng dụng của phản xạ trong C # là gì?

Đối tượng phản chiếu được sử dụng để lấy thông tin kiểu trong thời gian chạy. Các lớp cấp quyền truy cập vào siêu dữ liệu của một chương trình đang chạy nằm trong không gian tên System.Reflection.

Sau đây là các ứng dụng của phản xạ -

  • Nó cho phép xem thông tin thuộc tính trong thời gian chạy.
  • Nó cho phép kiểm tra các kiểu khác nhau trong một tổ hợp và khởi tạo các kiểu này.
  • Nó cho phép liên kết muộn với các phương thức và thuộc tính
  • Nó cho phép tạo các kiểu mới trong thời gian chạy và sau đó thực hiện một số tác vụ bằng các kiểu đó.

Không gian tên System.Reflection chứa các lớp cho phép bạn lấy thông tin về ứng dụng và thêm động các kiểu, giá trị và đối tượng vào ứng dụng.

Hãy cho chúng tôi xem một ví dụ.

Dưới đây chúng tôi đã đặt đối tượng của lớp đích -

System.Reflection.MemberInfo info = typeof(MyClass);

Đây là ví dụ đầy đủ -

Ví dụ

using System;
using System.Reflection;

[AttributeUsage(AttributeTargets.All)]
public class HelpAttribute : System.Attribute {
   public readonly string Url;
   public string Topic {
      get {
         return topic;
      }

      set {
         topic = value;
      }
   }

   public HelpAttribute(string url) { // url is a positional parameter
      this.Url = url;
   }

private string topic;
}

[HelpAttribute("Information on the class MyClass")]
   class MyClass {
   }

namespace AttributeAppl {
   class Program {
      static void Main(string[] args) {
         System.Reflection.MemberInfo info = typeof(MyClass);
         object[] attributes = info.GetCustomAttributes(true);
         for (int i = 0; i < attributes.Length; i++) {
            System.Console.WriteLine(attributes[i]);
         }
         Console.ReadKey();
      }
   }
}

Đầu ra

HelpAttribute