强制类型转换问题 类转换 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实现或继承 关系。不确定的情况下可以用as操作符:IDataset pOutDataset = apFeatureClass as IDataset;if (pOutDataset != null) ... IDataset pOutDataset = (IDataset)apFeatureClass;如果apFeatureClass的object的真正类型是IDataset或者继承或者实现自IDataset,就可以成功转换。 那如果用as的话,转换失败的就会出错而不会出现null,是这样么? IDataset pOutDataset = apFeatureClass as IDataset;和.IDataset pOutDataset = (IDataset)apFeatureClass;有区别? 1、第二行可能抛出异常。2、第一行中apFeatureClass不可以是结构。 你的apFeatureClass和IDataset是什么关系? apFeatureClass是一个IFeatureClass接口的一个实例,IFeatureClass继承自IObjectClass,IObjectClass继承自IClass。IDataset未有任何继承 1、第二行可能抛出异常。2、第一行中apFeatureClass不可以是结构。不可以是结构,为什么 更正:IDataset pOutDataset = apFeatureClass as IDataset ;目标类型IDataset不可以是结构。 看了大家的讨论,我没接触过as,不知道这个是什么情况。[看了大家的讨论,我没接触过as,不知道这个是什么情况。]同意2楼的,子类转换成父类,就隐藏了子类特有的属性字段和方法。对于外部而言,[一个由子类向上转换成的父类对象]和[一个父类对象]是没有任何区别的。有继承关系的对象,是可以向沿着继承树向上转换而不会有任何异常;但是继承树的两个兄弟结点上的对象互相转换是有可能发生异常的(简单类型可能不会)!最后,在对于不确定会不会发生异常的代码处,都应该进行异常捕获和处理。 建议使用as,判断结果是否为null apFeatureClass是一个IFeatureClass接口的一个实例,IFeatureClass继承自IObjectClass,IObjectClass继承自IClass。IDataset未有任何继承这样子怎么可以。apFeatreClass没实现IDataset怎么可以转成IDataset。 picturebox不能显示滚动条,求高手指教! c# wpf 实时曲线图问题 【在线急等】线程等待问题 如何对一个public的类实例加锁? 工程文件批量打印系统 帮助您快速打印工程文件 完全免费! 电子地图的制作 contextmenu菜单与datagridview一起用的问题 请教高手:DataAdapter一次性添加多条数据时出错! C#连接oracle 算法求解,已知发票总金额,和商品单价,批量求解发票是否含有某种商品 移动公司代理网tcpclient实现发邮件的问题 哪位哥们会写批处理文件,帮个忙呀!!
IDataset pOutDataset = apFeatureClass as IDataset;
if (pOutDataset != null) ...
和
.IDataset pOutDataset = (IDataset)apFeatureClass;
有区别?
2、第一行中apFeatureClass不可以是结构。
你的apFeatureClass和IDataset是什么关系?
2、第一行中apFeatureClass不可以是结构。
不可以是结构,为什么
IDataset pOutDataset = apFeatureClass as IDataset ;
目标类型IDataset不可以是结构。
[看了大家的讨论,我没接触过as,不知道这个是什么情况。]
同意2楼的,子类转换成父类,就隐藏了子类特有的属性字段和方法。对于外部而言,[一个由子类向上转换成的父类对象]和[一个父类对象]是没有任何区别的。有继承关系的对象,是可以向沿着继承树向上转换而不会有任何异常;但是继承树的两个兄弟结点上的对象互相转换是有可能发生异常的(简单类型可能不会)!
最后,在对于不确定会不会发生异常的代码处,都应该进行异常捕获和处理。