क्या यह पता लगाना संभव है कि दो अभिव्यक्ति समान हैं या नहीं?दो अभिव्यक्तियों को कैसे जांचें <Func <T, bool>> वही
की तरह दिए गए निम्न चार भाव:
Expression<Func<int, bool>> a = x => false;
Expression<Func<int, bool>> b = x => false;
Expression<Func<int, bool>> c = x => true;
Expression<Func<int, bool>> d = x => x == 5;
तो, कम से कम हम कि देख सकते हैं:
a == b
a != c
a != d
लेकिन क्या मैं इसे अपने कोड में ढूंढने के लिए कुछ भी कर सकता हूं? तय करता है कि निर्दिष्ट ऑब्जेक्ट वर्तमान Object
के बराबर है:
MSDN लाइब्रेरी, जहां यह कहना है कि
Equals
में झांकना लिया। (Object
से विरासत।)
जो मुझे लगता है कि इसका मतलब है कि कम से कम अभिव्यक्ति वर्ग overrided नहीं किया है Equatable बनने के लिए बराबर विधि? तो आप यह कैसे करेंगे? या मैं यहाँ बहुत ज्यादा पूछ रहा हूँ? : पी
यदि वहां 'सदस्यइन्फो' शामिल है, तो मेरा मतलब है कि कुछ विधि, क्षेत्र की संपत्ति, तो आप पहले सदस्यइंफो प्राप्त कर सकते हैं, और इसके हैश की गणना कर सकते हैं – nawfal