c# - सी#गतिशील विशेषता तर्क




properties attributes (2)

क्या निम्न करने का कोई तरीका है? मुझे लगता है कि विशेषता तर्क एक निरंतर अभिव्यक्ति होना चाहिए, तो मैं इसके आस-पास कैसे काम करूं? यदि मैं बाइटिंग का उपयोग करके कुछ गुणों को डेटाग्रिड दृश्य में लोड नहीं करना चाहता हूं, तो अगला सर्वश्रेष्ठ विकल्प क्या है?

  class TestObj
  {
     private bool isBrowsable = false;

     [Browsable(isBrowsable)]
     public string String1
     {
        get
        {
           return "Foo";
        }
     }
     [Browsable(isBrowsable)]
     public string String2
     {
        get
        {
           return "Baz";
        }
     }
  }

आप ICustomTypeDescriptor इंटरफ़ेस को कार्यान्वित करके रनटाइम पर गतिशील कस्टम प्रकार की जानकारी प्रदान कर सकते हैं - लेकिन यह विशेष रूप से सजाने के गुणों के साथ जितना सरल नहीं है उतना आसान काम है


रनटाइम के लिए, मुझे लगता है कि आप शायद ICustomTypeDescriptor को देख रहे हैं। यदि यह एक संकलन समय निर्णय था, तो आप कम्पाइलर निर्देशों का इस्तेमाल कर सकते थे:


 #define ISBROWSABLE
 #if ISBROWSABLE
 [your attribute]
 #endif







browsable