2012-04-18 16 views
5

ऑब्जेक्ट प्रकार नाम इस प्रकार मान लें:वस्तु का उदाहरण के नाम प्राप्त नहीं में सी # 4.0

public class Car { } 

और मुझे लगता है कि का एक उदाहरण बनाने के लिए:

Car myCar = new Car(); 

Target target = new Target(); 
target.Model = myCar; 

और यह एक और प्रकार है:

public class Target { 

    public object Model { get; set; } 

    string GetName(){ 

    //Use Model and return myCar in this Example 
    } 

} 

मैं कोड में पता चला है के रूप में GetName विधि एक वस्तु प्रकार (Model) और सेवानिवृत्त का उपयोग करना चाहिए इस उदाहरण में मायक्रार का उदाहरण दिया गया है? ऐसा करने का कोई तरीका है कि आपका सुझाव क्या है?

अद्यतन इस बारे में कैसे:

public class Car { 

    public string Title { get; set; } 

} 

और मैं लक्षित करने के लिए पारित: target.Model = Car.Title

और GetName() विधि लौटे Title?

+0

परिवर्तनीय नाम व्यापार तर्क – zerkms

+0

में कोई समझ नहीं लेता है और इसलिए यदि आप चर नाम बदलते हैं, तो चीजें तोड़ती हैं? – VVS

+0

'कार' (या इसके उप-वर्ग) के बजाय 'मॉडल' केवल एक ऑब्जेक्ट क्यों है? –

उत्तर

3

नहीं, यह संभव नहीं है। क्यूं कर? क्योंकि myCar केवल नाम आपके Car उदाहरण के दायरे के लिए है जिसे आपने चर सेट अप किया है। target.Model पर सहेजा गया क्या संदर्भCar उदाहरण पर है। तो, आपके नमूना कोड के बाद, myCar और target.Model दोनों अलग-अलग नामों के साथ Car के समान उदाहरण का संदर्भ देते हैं। नाम स्वयं प्रोग्राम के निष्पादन के लिए महत्वहीन नहीं हैं, यह केवल एक चाल है जिसका उपयोग हम उदाहरणों के बारे में बात करने के लिए करते हैं।

+0

मैं अब प्रश्न पूछता हूं जो आप सोचते हैं? – Saeid

+0

अब मैं वास्तव में नहीं जानता कि आप अब क्या हासिल करना चाहते हैं ... –

4

ऑब्जेक्ट्स का नाम नहीं है, जब तक कि उनके पास स्पष्ट रूप से उनका नाम संग्रहीत करने का कोई तरीका न हो। myCar एक स्थानीय चर है - ऑब्जेक्ट स्वयं (Car) नहीं जानता है कि आप इसे myCar नाम से संदर्भित कर रहे हैं। इसे समझने के लिए:

Car myCar = new Car(); 
Car car2 = myCar; 
Car car3 = myCar; 

अब सभी तीन चर हीCar को देखें।

क्या आप

public class Car 
{ 
    public string Name { get; set; } 
} 

कर सकता है और उसके बाद आवंटित और पढ़ आप इसे करना चाहते हैं जो भी नाम कारों के नाम करना चाहते हैं, तो।

+0

ठीक है, आप हमेशा नामों की एक सूची वापस कर सकते हैं ... बस मजाक कर रहे हैं ;-) +1। –

+0

मैं अद्यतन प्रश्न जो अब आप सोचते हैं? – Saeid

1

"उदाहरण का नाम" जैसी कोई चीज़ नहीं है। आप जो कह रहे हैं वह वस्तु के विशिष्ट संदर्भ का नाम है; अलग-अलग नामों के साथ, एक ही वस्तु के कई संदर्भ हो सकते हैं। साथ ही, कोड और डेटा को जोड़ना (यानी चर नाम पर भरोसा करना) एक बुरा अभ्यास है।

आप Car चाहते हैं कुछ नाम करने के लिए, तो यह स्पष्ट रूप से नाम:

public class Car { 
    public string Name { get; set; } 
} 

Car myCar = new Car { Name = "myCar" }; 
संबंधित मुद्दे