निम्नलिखित इंटरफ़ेस को देखते हुए:
public interface IFoo
{
bool Foo(string a, bool b = false);
}
Moq का उपयोग करके इसे नकली करने का प्रयास किया जा रहा है:
var mock = new Mock<IFoo>();
mock.Setup(mock => mock.Foo(It.IsAny<string>())).Returns(false);
संकलन समय पर निम्नलिखित त्रुटि देता है:
एक अभिव्यक्ति ट्री में एक कॉल या आह्वान नहीं हो सकता है जो वैकल्पिक तर्कों का उपयोग करता है
मैंने ऊपर के मुद्दे को Moq के मुद्दों की सूची में वृद्धि के रूप में उठाया है और यह 4.5 रिलीज (जब भी है) को सौंपा गया प्रतीत होता है।
मेरा सवाल यह है: मुझे क्या करना चाहिए कि उपरोक्त जल्द ही कभी भी तय नहीं होगा? क्या मेरे विकल्प केवल या तो स्पष्ट रूप से वैकल्पिक पैरामीटर के डिफ़ॉल्ट मान को हर बार सेट करते हैं, जब भी मैं इसका मजाक उड़ाता हूं (जो पहली जगह में किसी को निर्दिष्ट करने की बात को पराजित करता है) या बूल के बिना एक अधिभार बनाने के लिए (जैसे मैंने क्या किया होगा) C # 4 से पहले)?
या किसी को इस मुद्दे को दूर करने के लिए एक और अधिक चतुर तरीका है?