c# - How to set values to nullable struct members -


मेरे पास यह कोड है:

  सार्वजनिक ifStatement? m_IfStatement; सार्वजनिक संरचना ifStatement {सार्वजनिक स्ट्रिंग स्टेटमेंट {get; निजी सेट; } सार्वजनिक स्ट्रिंग तुलना {get; निजी सेट; } सार्वजनिक स्ट्रिंग कंडी हालत {प्राप्त; निजी सेट; } सार्वजनिक स्ट्रिंग IfCondition_True {get; निजी सेट; } सार्वजनिक स्ट्रिंग IfCondition_False {get; निजी सेट; }}   

और जब मैं इस तरह struct को मान सेट करने का प्रयास कर रहा हूं:

  m_IfStatement = new ifStatement (); M_IfStatement.Statement = cboIfStatement.SelectedItem.ToString (); M_IfStatement.Comparison = cboComparison.SelectedItem.ToString (); M_IfStatement.ConditionValue = txtIfValue.Text; M_IfStatement.IfTrue = ""; M_IfStatement.IfFalse = "";   

मुझे इस त्रुटि को संगतक द्वारा प्राप्त हो रहा है:

  'सिस्टम.अनुरूप & lt; कोर.बेस कंट्रोल। इटैक्शनटूल.फ्रेमडेटामैनलिपिलेशन। आईफ़स्टैटमेंट & gt;' 'स्टेटमेंट' के लिए कोई परिभाषा नहीं है और कोई एक्सटेंशन विधि 'स्टेटमेंट' को 'सिस्टम। नल योग्य & lt; कोर के प्रथम तर्क को स्वीकार करते हैं। BaseControls.IntegrationTool.frmDataManipulation.IfStatement & gt;' पाया जा सकता है (क्या आप उपयोग निर्देशक या विधानसभा का संदर्भ नहीं भूल रहे हैं?)   

इसका क्या अर्थ है? और मैं इसे कैसे हल कर सकता हूं ...? कृप्या। दोनों बयान एक ही क्षेत्र में हैं (जैसे एक ही कक्षा में)।

क्योंकि structs मूल्य-प्रकार हैं (और इसलिए रिक्त नहीं हो सकता) और आप चाहते हैं कि यह रिक्त हो, तो आपको गुण सेट करने के लिए एक कन्स्ट्रक्टर बनाना चाहिए। इस प्रकार आप अपने गुणों को निजी सेटर्स के साथ रख सकते हैं।

  सार्वजनिक स्ट्रक्चर ifStatement {सार्वजनिक ifStatement (स्ट्रिंग स्टेटमेंट, स्ट्रिंग की तुलना, स्ट्रिंग कंडीश्वेरी, स्ट्रिंग ifCondition_True, string ifCondition_False) {स्टेटमेंट = कथन; तुलना = तुलना; कंडीशैली = वैल्यू; IfCondition_True = ifCondition_True; IfCondition_False = ifCondition_False; } सार्वजनिक स्ट्रिंग विवरण {get; निजी सेट; } सार्वजनिक स्ट्रिंग तुलना {get; निजी सेट; } सार्वजनिक स्ट्रिंग कंडी हालत {प्राप्त; निजी सेट; } सार्वजनिक स्ट्रिंग IfCondition_True {get; निजी सेट; } सार्वजनिक स्ट्रिंग IfCondition_False {get; निजी सेट; }}   

और इसे उपयोग करें

  m_IfStatement = नया ifStatement (cboIfStatement.SelectedItem.ToString (), cboComparison.SelectedItem.ToString () txtIfValue.Text , "", "");   

यह किसी भी परेशानी को रोकता है जो आपने एक रिक्त संरचना की संपत्ति निर्धारित कर रखी है।

Comments

Popular posts from this blog

asp.net - Procedure or function "Procedure name" expects a parameter "Param name" which was not supplied occurs rarely -

c# - The item with identity 'Id' already exists in the metadata collection. Parameter name: item -

c++ - Redefined variable in the other module -