ऐसा करना संभव नहीं है जिसमें केवल गुण शामिल हों। आप सैद्धांतिक रूप से एक सेटर लिख सकते हैं, लेकिन गेटर के लिए, आपको एक कुंजी निर्दिष्ट करने की आवश्यकता होगी जिसे आप पुनर्प्राप्त करना चाहते हैं। यह असंभव है क्योंकि गुण पैरामीटर स्वीकार नहीं करते हैं। प्राकृतिक तरीके से पूरा करने के लिए क्या आप चाहते हैं तरीकों का उपयोग करने के लिए होगा:
private Dictionary<string, string> users = new Dictionary<string, string>();
public void Set(string key, string value)
{
if (users.ContainsKey(key))
{
users[key] = value;
}
else
{
users.Add(key, value);
}
}
public string Get(string key)
{
string result = null;
if (users.ContainsKey(key))
{
result = users[key];
}
return result;
}
वैकल्पिक रूप से, के रूप में दूसरों को पहले से ही कहा है, आप indexers इस्तेमाल कर सकते हैं, लेकिन मैं हमेशा उन्हें एक छोटे से बोझिल पाया है। लेकिन मुझे लगता है कि यह सिर्फ व्यक्तिगत वरीयता का मामला है।
और बस पूर्णता के लिए के लिए, यह एक सेटर, की तरह लग सकता है, हालांकि यह कैसे इस तरह के एक संपत्ति के लिए बेहद असामान्य और जवाबी सहज है है:
public KeyValuePair<string, string> Users
{
set
{
Set(value.Key, value.Value);
}
}
आंतरिक रूप से, यह से Set
विधि का उपयोग करता मेरा पिछला स्निपेट
स्रोत
2012-07-20 16:47:22
एक इंडेक्सर संपत्ति का उपयोग करें:
तब की तरह इस्तेमाल करते हैं। Http://msdn.microsoft.com/en-us/library/aa288464(VS.71).aspx –
उत्तरों के लिए धन्यवाद देखें। अब मुझे पता है कि मेरे पास विकल्प हैं। मैं एक सूचकांक का उपयोग करने के बजाय, प्राप्त करने और सेट विधियों को बनाना पसंद करते हैं। – Mausimo