मैं तर्क के समूहों है कि इस तरह के रूप में स्थिर कक्षाओं से मिलकर राशि के साथ स्थिर कक्षाओं समूहीकरण (उदाहरण के लिए उत्परिवर्ती)। मैं इस पैटर्न के लिए एक इंटरफ़ेस की तरह कुछ उपयोग करना चाहता हूं, हालांकि स्थिर वर्ग इंटरफेस को कार्यान्वित नहीं कर सकता है, मुझे यकीन नहीं है कि क्या करना है। इस तरह के व्यवहार को साफ तरीके से लागू करने का सबसे अच्छा तरीका क्या है?समान व्यवहार
संपादित करें:
यहाँ मैं वर्तमान में क्या कर रहा हूँ का एक उदाहरण है। कक्षाओं में कोई राज्य नहीं होता है इसलिए मैं उन्हें स्थिर बना देता हूं।
Interface IMutator {
int mutate(int i);
}
class A : IMutator {
int mutate(int i) { /**implementation*/ };
}
class B : IMutator {
int mutate(int i) { /**implementation*/ };
}
class C {
public List<IMutator> Mutators;
public C(List<IMutator> mutators) {
Mutators = mutators;
}
}
//Somewhere else...
//The new keyword for A and B is what really bothers me in this case.
var Cinstance = new C(new List<IMutator>() {new A(), new B() /**...*/});
गैर स्थिर वर्गों और इंटरफेस आप का उपयोग क्यों नहीं कर सकते हैं बनाया है? क्या कोई कारण है कि आप स्थिर के लिए जा रहे हैं? इन वर्गों का उपयोग क्या है? – dotnetom
इन कक्षाओं में कोई डेटा नहीं है। पूरी तरह से कार्यों के समूह हैं, इसलिए उन्हें अस्थिर बनाने के लिए अजीब लगता है, क्योंकि प्रत्येक उदाहरण समान होगा। हालांकि, यह मेरा वर्तमान दृष्टिकोण है। – shell
क्या आप इन कक्षाओं का नमूना उपयोग प्रदान कर सकते हैं? आपके पास कितने वर्ग होंगे? बस इन 2, दर्जनों, सैकड़ों? एक विकल्प का सुझाव देना मुश्किल है जब संदर्भ स्पष्ट नहीं है – dotnetom