Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menambah Atribut Pengesahan pada Hartanah Runtime dalam C#?

Bagaimana untuk Menambah Atribut Pengesahan pada Hartanah Runtime dalam C#?

Patricia Arquette
Lepaskan: 2025-01-03 15:58:39
asal
524 orang telah melayarinya

How to Add Validation Attributes to Runtime Properties in C#?

Menambahkan Atribut pada Sifat Masa Jalan

Dalam percubaan anda untuk menambah atribut pengesahan pada sifat pada masa jalan, anda telah menemui pengecualian yang menyatakan "Koleksi adalah tetap saiz." Untuk menyelesaikan isu ini, pertimbangkan perkara berikut:

Kod yang anda berikan melibatkan penggunaan kaedah FillAttributes. Kaedah khusus ini, walau bagaimanapun, mengharapkan tatasusunan atribut sebagai hujahnya, bukan satu atribut. Untuk membetulkan perkara ini, anda harus mengubah suai kod anda untuk menghantar tatasusunan yang mengandungi atribut yang diingini:

// Create an array of attributes
var attributes = new ValidationAttribute[] { attribute };

// Invoke FillAttribute method
methodInfo.Invoke(propDesc, new object[] { attributes });
Salin selepas log masuk

Sebagai alternatif, anda boleh memintas kaedah FillAttributes sepenuhnya dan terus memberikan atribut kepada deskriptor sifat:

// Assign attribute to property descriptor
propDesc.Attributes = new Attribute[] { new RequiredAttribute() };
Salin selepas log masuk

Bergantung pada senario tertentu dan pilihan reka bentuk anda, penggabung pendekatan ini harus membenarkan anda untuk tambahkan atribut pada sifat pada masa jalan tanpa menemui pengecualian "Koleksi adalah saiz tetap".

Atas ialah kandungan terperinci Bagaimana untuk Menambah Atribut Pengesahan pada Hartanah Runtime 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