Rumah > pembangunan bahagian belakang > Tutorial C#.Net > Bagaimana untuk menetapkan nilai harta melalui refleksi dalam C#?

Bagaimana untuk menetapkan nilai harta melalui refleksi dalam C#?

WBOY
Lepaskan: 2023-08-27 15:49:02
ke hadapan
684 orang telah melayarinya

Bagaimana untuk menetapkan nilai harta melalui refleksi dalam C#?

sistem. Ruang nama refleksi mengandungi kelas yang membolehkan anda mendapatkan maklumat tentang aplikasi anda dan menambahkan jenis, nilai dan objek secara dinamik pada aplikasi anda.

Objek pantulan digunakan untuk mendapatkan maklumat jenis semasa masa jalan. Kelas yang membenarkan akses kepada metadata program yang sedang berjalan terletak dalam ruang nama System.reflection.

Refleksi membolehkan melihat maklumat harta benda pada masa jalan.

Refleksi membolehkan memeriksa pelbagai jenis dalam perhimpunan dan membuat contoh jenis ini.

Refleksi membolehkan pengikatan lewat pada kaedah dan sifat.

Refleksi membolehkan mencipta jenis baharu pada masa jalan dan kemudian menggunakan jenis ini untuk melaksanakan beberapa tugas.

Contoh

GetProperty(String)

Cari harta awam dengan nama yang ditentukan.

GetType(String, Boolean)

Mendapatkan objek Type dengan nama yang ditentukan dalam contoh pemasangan, secara pilihan membuang pengecualian jika jenis itu tidak ditemui.

SetValue(Objek, Objek)

Tetapkan nilai sifat objek yang ditentukan.

class Program{
   static void Main(string[] args){
      User user = new User();
      Type type = user.GetType();
      PropertyInfo prop = type.GetProperty("Name");
      prop.SetValue(user, "Bangalore", null);
      System.Console.WriteLine(user.Name);
      Console.ReadLine();
   }
}
class User{
   public int Id { get; set; }
   public string Name { get; set; }
}
Salin selepas log masuk

output

Bangalore
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menetapkan nilai harta melalui refleksi dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan