अगर BaseFruit
एक कंस्ट्रक्टर है जो एक को स्वीकार करता है int weight
, तो क्या मैं इस तरह से जेनेरिक विधि में फल के एक टुकड़े को तुरंत हटा सकता हूं?
public void AddFruit<T>()where T: BaseFruit{
BaseFruit fruit = new T(weight); /*new Apple(150);*/
fruit.Enlist(fruitManager);
}
टिप्पणियों के पीछे एक उदाहरण जोड़ा जाता है। ऐसा लगता है कि मैं केवल ऐसा कर सकता हूं अगर मैं BaseFruit
एक पैरामीटर रहित निर्माता देता हूं और फिर सदस्य चर के माध्यम से सब कुछ भर देता हूं । मेरे वास्तविक कोड में (फल के बारे में नहीं) यह अव्यावहारिक है।
-Update-
तो ऐसा लगता है कि यह किसी भी तरह से बाधाओं द्वारा हल नहीं किया जा सकता है। जवाब से तीन उम्मीदवार समाधान कर रहे हैं:
- फैक्टरी पैटर्न
- प्रतिबिंब
- उत्प्रेरक
मुझे लगता है कि प्रतिबिंब कम से कम एक साफ है, लेकिन मैं अन्य दो के बीच तय नहीं कर सकता।