मैं निर्माण कर रहे एक धाराप्रवाह परीक्षण ढांचे में उपयोग किए जाने वाले संख्यात्मक प्रकारों पर एक विस्तार विधि लिखने की कोशिश कर रहा हूं। मूल रूप से, मैं ऐसा करना चाहते हैं:संख्यात्मक प्रकारों से मेल खाने के लिए सामान्य बाधा
public static ShouldBeGreaterThan<T>(this T actual, T expected, string message)
where T : int || T: double || etc...
बस where T : struct
, ऐसा नहीं करता है के बाद से वह भी किसी और मैं भूल रहा string
और bool
, और संभवतः कुछ भरपाई कर देंगे। क्या केवल कुछ संख्यात्मक प्रकार से मेल खाने के लिए मैं कुछ कर सकता हूं? (विशेष रूप से >
और <
ऑपरेटरों को लागू करने के प्रकार, इसलिए मैं उनकी तुलना कर सकता हूं ... यदि इसका मतलब है कि मैं तारीखों से मेल खाता हूं, तो यह वास्तव में कोई फर्क नहीं पड़ता - एक्सटेंशन अभी भी वही करेगा जो मैं उम्मीद करता हूं।)
जॉन स्कीट और मार्क ग्रेवल ने इसके लिए कुछ रोचक कक्षाएं एकत्र की: http://www.yoda.arachsys.com/csharp/genericoperators.html –
@ वास्तव में यह "मार्क" है, लेकिन मैं आपको छोड़ दूंगा - बहुत कम लोग इसे सही मानते हैं; पी –