Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mendapatkan Nilai Harta Secara Dinamik dalam .NET Menggunakan Refleksi?

Bagaimanakah Saya Boleh Mendapatkan Nilai Harta Secara Dinamik dalam .NET Menggunakan Refleksi?

DDD
Lepaskan: 2025-01-06 16:51:42
asal
868 orang telah melayarinya

How Can I Dynamically Retrieve Property Values in .NET Using Reflection?

Mengambil Nilai Harta Secara Dinamik menggunakan Nama Harta

Mengakses nilai harta secara pengaturcaraan boleh berguna dalam pelbagai senario, seperti manipulasi objek dinamik atau siri data . Dalam .NET, anda boleh mencapai ini menggunakan refleksi.

Untuk mendapatkan semula nilai harta berdasarkan namanya, anda boleh menggunakan kaedah GetProperty kelas Jenis. Ia mengambil nama harta sebagai parameter dan mengembalikan objek PropertyInfo. Objek ini mewakili sifat yang ditentukan dan membolehkan anda memanipulasi gelagat dan datanya.

Untuk mendapatkan nilai sifat, anda boleh memanggil kaedah GetValue objek PropertyInfo. Kaedah ini mengambil objek untuk mendapatkan nilai daripada dan tatasusunan nilai indeks pilihan (yang biasanya batal untuk sifat tidak diindeks).

Berikut ialah contoh yang menunjukkan cara menulis kaedah yang mendapatkan semula nilai sifat dengan nama:

public string GetPropertyValue(object obj, string propertyName)
{
    var property = obj.GetType().GetProperty(propertyName);
    return (string)property.GetValue(obj, null);
}
Salin selepas log masuk

Dalam kelas contoh yang diberikan, anda boleh memanggil kaedah ini sebagai berikut:

var car = new Car { Make="Ford" };
var make = GetPropertyValue(car, "Make");
Salin selepas log masuk

Ini akan menetapkan nilai sifat Make (Ford) kepada pembolehubah make. Ambil perhatian bahawa nilai sifat dikembalikan sebagai objek dan mungkin perlu dihantar ke jenis yang sesuai.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nilai Harta Secara Dinamik dalam .NET Menggunakan Refleksi?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan