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

相关文章
lodash创建一个新的对象,对象的属性名可以修改
lodash创建一个新的对象,对象的属性名可以修改
509 0
|
Java 编译器
创建一个对象的时候
创建一个对象的时候
86 0
|
Python
5 类的创建及使用
5 类的创建及使用
134 0
|
缓存 安全 Java
仅且仅创建一次对象
此篇算是对《voliatile,synchronized,cas》理论的一种实践
173 0
|
开发者 Python
对象的创建流程|学习笔记
快速学习 对象的创建流程
150 0
对象的创建流程|学习笔记
|
Java Linux Windows
JAVA对象,直接新建跟反射新建,有区别
JAVA对象,直接新建跟反射新建,有区别
126 0
2-1 类的创建
创建一个简单的表示矩形的Rectangle类,满足以下条件: 1、定义两个成员变量height和width,表示矩形的长和宽,类型为整型 2、定义一个getArea方法,返回矩形的面积 3、定义一个getPerimeter...
1058 0