Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengambil Nilai Harta Secara Dinamik mengikut Nama dalam C#?

Bagaimana untuk Mengambil Nilai Harta Secara Dinamik mengikut Nama dalam C#?

Susan Sarandon
Lepaskan: 2025-01-06 16:54:40
asal
309 orang telah melayarinya

How to Dynamically Retrieve Property Values by Name in C#?

Mendapatkan Nilai Harta mengikut Nama dalam C

Dalam C#, senario biasa timbul di mana seseorang perlu mengakses nilai sifat objek secara dinamik berdasarkan namanya . Ini boleh berguna untuk pengaturcaraan generik atau senario berasaskan refleksi.

Untuk mencapai matlamat ini, anda boleh memanfaatkan keupayaan Reflection .NET. Begini caranya:

public string GetPropertyValue(string propertyName)
{
    // Retrieve the type of the object
    Type type = car.GetType();

    // Obtain the property information based on its name
    PropertyInfo property = type.GetProperty(propertyName);

    // Invoke the `GetValue` method to retrieve the property value
    object value = property.GetValue(car, null);

    // Return the property value as a string
    return value.ToString();
}
Salin selepas log masuk

Dalam kaedah ini:

  • car.GetType() memperoleh jenis objek kereta.
  • type.GetProperty(propertyName) mendapatkan semula PropertyInfo bagi harta yang ditentukan name.
  • property.GetValue(car, null) menggunakan kaedah GetValue untuk mendapatkan semula nilai hartanah, melepasi objek kereta dan null untuk parameter pilihan.
  • Nilai sifat dikembalikan sebagai rentetan.

Menggunakan kaedah ini untuk objek kereta dengan nama sifat "Make", ia akan mengembalikan nilai "Ford." Pendekatan ini membolehkan perolehan semula nilai sifat yang fleksibel dan dinamik dalam C#.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Nilai Harta Secara Dinamik mengikut Nama dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan