के लिए प्रतिनिधियों का परीक्षण करना मैं एक पदानुक्रमित संग्रह कक्षा का निर्माण कर रहा हूं जो चुंबकीय अनुनाद छवियों को स्थानिक रूप से आदेश देता है और उन्हें उत्पन्न करने के लिए उपयोग किए जाने वाले विभिन्न अधिग्रहण पैरामीटर के आधार पर समूह में व्यवस्थित करता है। समूह करने के लिए उपयोग की जाने वाली विशिष्ट विधि कक्षा के उपयोगकर्ता द्वारा प्रदान की जाती है। मैंने नीचे नमूना कोड में प्रासंगिक विशेषताओं को समझाया है। IEquatable<MyClass>
कार्यान्वयन के लिए, मैं _myHelperDelegate
की तुलना MyClass
उदाहरणों की तुलना करने में सक्षम होना चाहता हूं यह निर्धारित करने के लिए कि क्या दोनों प्रतिनिधि कोड के उसी टुकड़े को इंगित करते हैं। नीचे दिए गए कथन में (_myHelperDelegate == other._myHelperDelegate)
खंड स्पष्ट रूप से ऐसा करने का गलत तरीका है (यह संकलन करने में विफल रहता है, त्रुटि "विधि का नाम अपेक्षित") देता है। मेरा सवाल यह है कि क्या यह निर्धारित करने के लिए दो प्रतिनिधियों की तुलना करने का कोई तरीका है कि वे कोड के समान टुकड़े का संदर्भ लेते हैं या नहीं? यदि हां, तो आप यह कैसे करते हैं?समानता
public class MyClass : IEquatable<MyClass>
{
public delegate object HelperDelegate(args);
protected internal HelperDelegate _myHelperDelegate;
public MyClass(HelperDelegate helper)
{
...
_myHelperDelegate = helper;
}
public bool Equals(MyClass other)
{
if (
(_myHelperDelegate == other._myHelperDelegate) &&
(... various other comparison criteria for equality of two class instances...)
)
return true;
return false;
}
}
"मैं एक पदानुक्रमित संग्रह वर्ग बना रहा हूं जो चुंबकीय अनुनाद छवियों को स्थानिक रूप से आदेश देता है" आपने मुझे खो दिया है। –
प्रतिनिधि वर्ग में 'बराबर()' विधि है (http://msdn.microsoft.com/en-us/library/99bthb1z(v=VS.90).aspx), क्या आपने कोशिश की? – CodingGorilla
समस्या के स्रोत के बारे में मेरा अंतर्ज्ञान गलत था। == वास्तव में काम करने वाले दो प्रतिनिधियों की तुलना काम करता है। समस्या मूल कोड में एक वाक्यविन्यास त्रुटि थी। अगर मैं कथन में खंडों के बीच && खो रहा था। * फेसपाल्म * – Matt