मैं एक संपत्ति पर रखे गए सभी कस्टम विशेषताओं को इकट्ठा करने के लिए तैयार हूं। वहाँ एक ही प्रकार संपत्ति करने के लिए आवंटित की एक से अधिक गुण हैं, लेकिन जब उन्हें इकट्ठा करने, जिसके परिणामस्वरूप संग्रह केवल विशिष्ट प्रकार का पहला गुण शामिल हैं:AllowMultiple संपत्ति विशेषताओं के साथ काम नहीं करता है?
गुण वर्ग
[AttributeUsage(System.AttributeTargets.Property,
AllowMultiple = true)]
public class ConditionAttribute : Attribute{...}
उपयोग:
[ConditionAttribute("Test1")]
[ConditionAttribute("Test2")]
[ConditionAttribute("Test3")]
public Color BackColor{get; set;}
अब
जब वस्तु 'मान' जिसका वर्ग प्रोप "BackColor" शामिल हैं के सभी प्रॉप्स के माध्यम से पाशन:
foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(value))
{
foreach (Attribute attribute in property.Attributes)
{ ... }
....
}
संग्रह संपत्ति। गुण में केवल "कंडीशनएट्रिब्यूट" प्रकार का एक विशेषता है: "test1" वाला एक। दूसरों अनदेखी कर रहे हैं ;-(
तो AllowMultiple संपत्ति के लिए काम नहीं करता है गुण पहले से?
धन्यवाद
हेनरिक
एमवीसी में एक कस्टम सत्यापन प्रमाणीकरण का उपयोग करते समय मुझे एक समान समस्या का सामना करना पड़ा; यह मेरी समस्या हल हो गई। –