मैं एक सामान्य विधि के साथ कुछ इंटरफेस और कोई पैरामीटर है मान लें:मजाक सामान्य तरीकों
public interface Interface {
void Method<T>();
}
अब मैं इस वर्ग के लिए नकली (मैं Moq
उपयोग कर रहा हूँ) को लागू करना चाहते हैं और मैं इस विधि नकली करना चाहते हैं कुछ ठोस प्रकार के लिए - मान लीजिए कि मैं Method<String>()
कॉल का मज़ाक उड़ा रहा हूं।
mock = new Mock<Interface>();
mock.Setup(x => x.Method ????).Returns(String("abc"));
????
के विचार स्पष्ट किया जाना चाहिए - यह लैम्ब्डा अभिव्यक्ति मामले को संभाल चाहिए जब Method<T>
में T
वास्तव में एक String
है।
क्या वांछित व्यवहार प्राप्त करने का कोई तरीका है?
'स्ट्रिंग विधि 'टी विधि ' नहीं होना चाहिए? –
Scott
@ सेक्रेट एजेंट मैन, नहीं, यह नहीं होना चाहिए। कम से कम ऐसा कुछ भी नहीं है जो ऐसा करने के लिए बाध्य है। यह सिर्फ एक उदाहरण था जिसे मैंने लिया था। एक विधि जो भी आप चाहते हैं वापस कर सकते हैं। यदि आप चाहते हैं कि आप 't' के साथ 'स्ट्रिंग' रिटर्न प्रकार को प्रतिस्थापित कर सकें, तो उदाहरण अभी भी काम करेगा। –