ArcEngine 创建工作空间工厂对象IWorkSpaceFactory的两种方式

简介: ArcEngine 创建工作空间工厂对象IWorkSpaceFactory有两种方式: 第一种使用ae的工厂方法:  IWorkspaceFactory pWsFactory = new ShapefileWorkspaceFactoryClass();  IFeatureWorkspace  pWorkSpace = pWsFactory.

ArcEngine 创建工作空间工厂对象IWorkSpaceFactory有两种方式:

第一种使用ae的工厂方法:

 IWorkspaceFactory pWsFactory = new ShapefileWorkspaceFactoryClass();
 IFeatureWorkspace  pWorkSpace = pWsFactory.OpenFromFile(path, 0) as IFeatureWorkspace;

使用这种方法有时候出现异常:无法将类型“System._ComObject”对象强制转换为ShapefileWorkspaceFactoryClass,这异常不只是针对ShapefileWorkspaceFactoryClass,还会出现在AccessWorkspaceFactoryClass,FileGDBWorkspaceFactoryClass和SdeWorkspaceFactoryClass等类型中,解决这个异常可以使用下面第二种方法创建。


第二种使用C#的动态创建类型的方法:

Type typeObj=System.Type .GetType ("esriWorkspaceType.ShapefileWorkspaceFactoryClass" );

 IWorkspaceFactory pWsFactory =( IWorkspaceFactory)Activator .CreateInstance(typeObj,null);

 IFeatureWorkspace  pWorkSpace = pWsFactory.OpenFromFile(path, 0) as IFeatureWorkspace;


希望这篇文章能够帮助到你。文章为博主原创,转载请注明出处!


欢迎关注微信公众号“GIS带我奔跑”获取更多GIS前沿开发技术、行业应用和最新资讯。

114f2af20b8b7a74778c95cf24de71cb06fc6b08

相关文章
|
9月前
|
存储 NoSQL Linux
ArcGIS:如何创建地理数据库、创建要素类数据集、导入要素类、表?
ArcGIS:如何创建地理数据库、创建要素类数据集、导入要素类、表?
487 0
|
存储 NoSQL Unix
基于C#的ArcEngine二次开发50:MDB创建新要素类及“无当前记录”异常处理
基于C#的ArcEngine二次开发50:MDB创建新要素类及“无当前记录”异常处理
基于C#的ArcEngine二次开发50:MDB创建新要素类及“无当前记录”异常处理
|
存储 缓存 API
基于C#的ArcEngine二次开发36: 在地理数据库中创建要素类的接口及方法分析(下)
基于C#的ArcEngine二次开发36: 在地理数据库中创建要素类的接口及方法分析(下)
基于C#的ArcEngine二次开发36: 在地理数据库中创建要素类的接口及方法分析(下)
|
存储 NoSQL C#
基于C#的ArcEngine二次开发36: 在地理数据库中创建要素类的接口及方法分析(上)
基于C#的ArcEngine二次开发36: 在地理数据库中创建要素类的接口及方法分析
基于C#的ArcEngine二次开发36: 在地理数据库中创建要素类的接口及方法分析(上)
|
前端开发 测试技术 数据库
【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块
【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块
【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块
|
监控 JavaScript 前端开发
数据工厂平台9: 首页的数据关联
数据工厂平台9: 首页的数据关联
数据工厂平台9: 首页的数据关联
使用Unity获取所有子对象及拓展方法的使用
这个问题还是比较简单的,无非就是一个for循环就可以全部获取到了,但是我喜欢简单直达,有没有直接就能获取到所有的子对象函数呢,搜了好久都没有,所以我准备写一个扩展函数,来自己补充这个函数,一起来看一下吧。
|
开发者 Python
对象的创建流程|学习笔记
快速学习 对象的创建流程
对象的创建流程|学习笔记