आप स्पष्ट रूप से एक स्वत: लागू किया के बजाय एक क्षेत्र और "सामान्य" संपत्ति का उपयोग करना होगा संपत्ति:
public class Bob
{
private int value;
public int Value
{
get { return value; }
set { this.value = value; }
}
}
तो फिर तुम एक बाहर पैरामीटर के रूप में क्षेत्र पारित कर सकते हैं:
Int32.TryParse("123", out bob.value);
लेकिन निश्चित रूप से, यह है कि केवल के भीतर काम करेंगे एक ही कक्षा, क्योंकि क्षेत्र निजी है (और होना चाहिए!)।
गुण सिर्फ आपको ऐसा करने नहीं देते हैं। यहां तक कि वीबी में भी जहां आप संदर्भ द्वारा किसी संपत्ति को पास कर सकते हैं या इसे आउट पैरामीटर के रूप में उपयोग कर सकते हैं, मूल रूप से एक अतिरिक्त अस्थायी चर है।
आप TryParse
की वापसी मूल्य के बारे में परवाह नहीं है, तो आप हमेशा अपने स्वयं के सहायक विधि लिख सकते हैं:
static int ParseOrDefault(string text)
{
int tmp;
int.TryParse(text, out tmp);
return tmp;
}
तब का उपयोग करें:
bob.Value = Int32Helper.ParseOrDefault("123");
इस तरह आप एक भी उपयोग कर सकते हैं अस्थायी चर भले ही आपको इसे कई स्थानों पर करने की आवश्यकता हो।
स्रोत
2009-09-02 21:34:02
संभावित डुप्लिकेट [क्या गुणों को "आउट" या "रेफरी" पैरामीटर के रूप में पास करना संभव है?] (Http://stackoverflow.com/questions/564557/is-it-possible-to-pass-properties-as -out-or-ref-पैरामीटर) – nawfal