2010-04-25 11 views
5

क्या कोई जानता है कि क्या आपके स्वयं के कस्टम विशेषता को परिभाषित करना/घोषित करना संभव है कि वह किस प्रकार के क्षेत्र पर लागू हो सकता है?एक कस्टम विशेषता के गुण प्रकार को प्रतिबंधित करना

UseOnlyOnType = typeof(string) 

कोई भी विचार:

[AttributeUsage(
AttributeTargets.Property, 
AllowMultiple = false)] 

इम तरह कुछ की तलाश में: एक झंडे उस विशेषता का उपयोग को प्रतिबंधित करते हैं?

उत्तर

4

यह सीधे संभव नहीं है।

लेकिन चूंकि आपको विशेषता का उपयोग करने के लिए कोड लिखना है (स्वयं पर वे केवल अप्रयुक्त मेटाडाटा हैं), यह कोड केवल आपके गुण की जांच करके काम कर सकता है जब फ़ील्ड का प्रकार string होता है।

3

कंपाइलर आपके लिए यह जांचने का कोई तरीका नहीं है - आपका सबसे अच्छा विकल्प प्रतिबिंब के साथ फ़ील्ड का निष्पादन-समय जांच होगा।

संबंधित मुद्दे