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
Patricia Arquetteasal
2025-01-03 15:58:39567semak imbas

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 });

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() };

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!

Kenyataan:
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