2012-07-19 27 views
14

मैं एक समारोह जो बाहर पैरामीटर का उपयोग करता है का उपयोग करता है। मैं इस समारोह का नकल कैसे कर सकता हूं?मजाक एक समारोह जो बाहर मापदंडों

मेरे समारोह है:

string Name; 
string Path; 
string Extension; 
MyObject.GetProperties(out Name, out Path, out Extension); 

अब, मैं इस नकली कर सकते हैं:

GetProperties(out string name, out string path, out string extension); 

अपने मूल कोड में, मैं यह कर रहा हूँ?

+1

इसी प्रकार के प्रश्न http://stackoverflow.com/questions/1068095/assigning-out-ref-parameters-in-moq – Alex

+0

फ्लॉप इसे पाने के, यू मुझे कोड लिख सकते हैं,, लौटने एक स्ट्रिंग सरल है एक समारोह मजाक mockObject.Setup (च => f.SomeMethod()) रिटर्न्स ("स्ट्रिंग")। लेकिन पैरामीटर के बारे में नहीं पता, –

उत्तर

20

आप इस तरह विधि कॉल करने से पहले वेरिएबल का मान बाहर आवंटित करने चाहिए:

string Name = "name"; 
string Path = "path"; 
string Extension = "extension"; 
mock.Setup(item => item.GetProperties(out Name, out Path, out Extension)) 
    .Returns(someReturnValue); 

हालांकि मैं अपनी वापसी प्रकार में इन मूल्यों को लौटने के बजाय तो बाहर कई मापदंडों का उपयोग करने का पसंद करेंगे।

+0

फ़ंक्शन सी ++ में लिखे गए COM ऑब्जेक्ट का है, इसलिए ऐसा लगता है कि इतने सारे पैरामीटर क्यों हैं, मैंने सोचा कि कॉलबैक का उपयोग इस में किया जा सकता है, लेकिन यह नहीं पता कि –

+0

यदि आपको करना है नकली सिर्फ आउट पैरामीटर के रिटर्न वैल्यू को ठीक काम करना चाहिए, आपको कॉलबैक की आवश्यकता नहीं होगी। –

+0

हाँ, मैं के रूप में आप ने कहा कि कर रहा हूँ, यह ठीक काम कर रहा है –

संबंधित मुद्दे