फ़ंक्शन फ़ील्ड को अन्य पैरामीटर के रूप में ऑब्जेक्ट फ़ील्ड का उपयोग करना [डुप्लिकेट]
नए ऑब्जेक्ट फ़ील्ड को फ़ंक्शन पैरामीटर अन्य फ़ील्ड (इसी ऑब्जेक्ट इनिशियलाइज़ेशन में) के रूप में उपयोग करना संभव है?
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title="Grooming", className=checkColor(title)},
};
public string checkColor(string title)
{
...
}
जवाब
Sisir
यह आपके कोड के वर्तमान डिज़ाइन के साथ संभव नहीं है। कारण यह है, आप ऑब्जेक्ट के 1 फ़ील्ड को किसी अन्य फ़ील्ड में ऑब्जेक्ट के पूर्ण निर्माण से पहले संदर्भित नहीं कर सकते। यही कारण है कि क्लास लेवल वैरिएबल घोषित करते समय हम दूसरे में 1 फील्ड वैल्यू का उपयोग नहीं कर सकते हैं।
हालांकि, ऐसे तरीके हैं जो आप प्राप्त कर सकते हैं, जो आप चाहते हैं।
विकल्प 1:
const string titleText = "Grooming";
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title=titleText, className=checkColor(titleText)},
};
private static string checkColor(string title)
{
...
}
विकल्प 2:
class Consumer
{
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title="Grooming"}
};
}
class Reservations
{
string _title;
public string title
{
get
{
return _title;
}
set
{
_title = value;
className = checkColor(title);
}
}
public string className;
private string checkColor(string title)
{
return "";
}
}