我有類型比較有趣的問題。我試圖用一個明確的類型比較隱含的類型,來測試,如果事情是任何類型的集合明確類型的隱式類型比較 - C#
var obField = value.GetType().InvokeMember(_stCollectionField,
System.Reflection.BindingFlags.GetProperty,
null, value, null);
if (obField.GetType() != typeof(IEnumerable<object>))
{
return true;
}
的在我的測試,我可以保證obField
會變成是對象的集合。然而,我發現,它總是會檢查和return true
,在那裏,而不是我希望它跳過這裏面運行(becasue兩個類型相同。)
一點點調試帶給我的obField
作爲object {System.Collections.Generic.List<System.DateTime>}
類型。
我該怎麼去匹配那種類型?
感謝
如果'obField'是類型'名單'這顯然不是類型的IEnumerable的'
List extends IEnumerable ,no? –
AndyBursh
@Andy:是的,但是「==」並不意味着「可以擴展」,它的意思是「is * equal * to」(和「!=」相同)。由於'List'和'IEnumerable