首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

如果判定一个对象是否等于这个类型?该怎么处理

2012-02-28 
如果判定一个对象是否等于这个类型??现在有个名叫obj的对象,我要判断它是否类型Class1,但不想用类名的字串

如果判定一个对象是否等于这个类型??
现在有个名叫obj的对象,我要判断它是否类型Class1,但不想用类名的字串来比较,如何办?


if   (obj   is   Class1)   ...;
//这种比较会有问题,如果obj是Class2,而Class2的基类是Class1,上面也会通过




[解决办法]
if (obj.GetType == typeof(Class1))
{

}
[解决办法]

if (obj!=null && obj.GetType() == typeof(Class1))
{
//同一类型
}
else
{
//类型不同
}
[解决办法]
if (obj.GetType() == typeof(Class))
{

}
[解决办法]
if (obj!=null && obj.GetType() == typeof(Class1))
[解决办法]
objcet obj;
YourType convertobj = obj as YourType;
if(convertojb != null)
{
//这样可以判断可不可以转换
}
[解决办法]
用as应该不可以,因为as和楼主说的is有相似的问题.

热点排行