2010-10-04 6 views
5

मैं अब कस्टम मॉडल बाइंडरों के एक जोड़े में लिखा है, और एहसास हो गया है कि मैं जादू तारों पर, जैसे निर्भर के जाल में गिर गया है:मैं कस्टम मॉडल बाइंडर्स से जादू तारों को कैसे हटा सकता हूं?

if (bindingContext.ValueProvider.ContainsPrefix("PaymentKey")) 
    { 
     paymentKey = bindingContext.ValueProvider.GetValue("PaymentKey").AttemptedValue; 
    } 

मैं एक उपयोग करने में सक्षम होना चाहते हैं उपसर्ग नामों को दृढ़ता से टाइप करने के लिए अभिव्यक्ति, लेकिन यह पता नहीं लगा सकता कि कैसे, और कुछ सहायता के लिए आभारी होंगे।

धन्यवाद।

+0

आप गुण के रूप में उन स्ट्रिंग मान हो और गुण का संदर्भ के बजाय करने के लिए एक स्थिर वर्ग बना सकते हैं। उदाहरण के लिए: bindingContext.ValueProvider.ContainsPrefix (SomeClass.PaymentKey) –

उत्तर

1

क्या आप देख रहे हैं bindingContext.ModelName तो अपने कोड बन सकता है:

if (bindingContext.ValueProvider.ContainsPrefix(bindingContext.ModelName)) 
    { 
     paymentKey = bindingContext.ValueProvider.GetValue(bindingContext.ModelName).AttemptedValue; 
    } 
+0

उत्तर के लिए धन्यवाद, लेकिन नहीं, यह वह नहीं है जिसे मैं ढूंढ रहा हूं। हो सकता है कि मेरा प्रश्न स्पष्ट हो सकता था, लेकिन मैं प्रत्येक संपत्ति के लिए जादू तारों का उपयोग करने से बचने के लिए एक रास्ता तलाश रहा था, न कि पूरी तरह से मॉडल। फिर भी धन्यवाद। –

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