जहाँ मैं (मैं टी के बारे में परवाह नहीं है) यह पता लगाने की यदि किसी विशेष प्रकार लागू करता IEnumerable<T>
जरूरत है मैं कोड का एक टुकड़ा हैएफ # समकक्ष (IEnumerable <>)
मैं कोशिश की है (t:System.Type
मामले में आप आश्चर्य)
let interfaces = t.GetInterfaces()
let enumerbale =
interfaces.Any(fun t ->
t.GetGenericTypeDefinition() = typeof<IEnumerable<>>
)
तथापि कि संकलन नहीं होगा (संकलन पसंद नहीं करता <>)। मैंने फिर
let interfaces = t.GetInterfaces()
let enumerbale =
interfaces.Any(fun t ->
t.GetGenericTypeDefinition() = typeof<IEnumerable<'a>>
)
पर ध्यान दिया लेकिन यह एक चेतावनी है कि 'ओबीजी की बाधा है। मैं यह नहीं जानना चाहता कि IEnumerable<obj>
लागू किया गया है लेकिन IEnumerabl<>
है।
किसी को भी पता है कि समाधान है और बीटीडब्ल्यू ऊपर दिए गए कोड पर भी टिप्पणी करने के लिए स्वतंत्र महसूस करता है।
http://stackoverflow.com/questions/1652050/generic-type-definition- में पाए जाते हैं में से एक है बेपरवाह होगा वाक्यविन्यास-ऑन-एफ –