.net 判断一个对象是否是Dictionary类型 小弟是新手,刚学.net,现在用反射方法获取一个对象的类型,那我要判断这个类型是否是Dictionary,如何做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 方法1;if(obj is Dictionary){ //是Dictionary}方法2;Dictionary dic = obj as Dictionary;if(dic != null){ //是Dictionary}如果仅仅是判断推荐第一种,如果是要类型转换,推荐第二种,因为is这个操作本身底层需要反射,相对来说比较耗资源,直接转换效率更好。 if(obj is Dictionary){ //是Dictionary} 如果知道Dictionary的类型T1, T2,就可以直接if (obj is Dictionary<T1, T2>)否则可以if (obj.GetType().GetInterfaces().Where(o => o == typeof(IDictionary)).Count() > 0) caozhy大师进 关于无法通过Type.GetType()得到自定义的CLASS类 关于顶层窗口的问题 XtraTreeList如何定位? 在读取内存映射文件时怎么样才能准确得到字符的值? 我快抓狂了,为什么会提示:GDI+ 中发生一般性错误。 http://www.szlen.com的程序是怎么做的,大家交流 可否暫停一事件的觸發 在C#中如何得到磁盘驱动器的详细信息?如何得到系统图标?如何得到文件类型的注册图标? 什么是j2ee,在那里可以找到它的资料? 文字音频文件播放接口(Suprui for TTS DLL) - 易用的TTS接口,让你的程序会说话 C#+win7 实现记事本帮助
if(obj is Dictionary)
{
//是Dictionary
}
方法2;
Dictionary dic = obj as Dictionary;
if(dic != null)
{
//是Dictionary
}如果仅仅是判断推荐第一种,如果是要类型转换,推荐第二种,因为is这个操作本身底层需要反射,相对来说比较耗资源,直接转换效率更好。
{
//是Dictionary
}
if (obj is Dictionary<T1, T2>)
否则可以
if (obj.GetType().GetInterfaces().Where(o => o == typeof(IDictionary)).Count() > 0)