以下是一段ArcGIS Engine开发中的一段代码
IWorkspaceFactory pWsFt = new AccessWorkspaceFactoryClass(); //1
IWorkspace pWs = pWsFt.OpenFromFile(WsName, 0); //2
IFeatureWorkspace pFWs = pWs as IFeatureWorkspace; //3
IFeatureClass pFClass = pFWs.OpenFeatureClass("PointTest");
这里的IWorkspace ,IWorkspaceFactory是接口名,但相互不具继承关系,AccessWorkspaceFactoryClass是实现IWorkspaceFactory的类。
问题是
1,实例化的格式不是:类名 对象名 = new 类名 ,为什么会出现1和2处的情况
AccessWorkspaceFactoryClass pWsFt = new AccessWorkspaceFactoryClass();和上面代码第一句有什么区别?
2,IWorkspace pWs = pWsFt.OpenFromFile(WsName, 0); 这句的格式是 接口 对象名1=xx,这是要做什么
3,第三句看起来是强制类型转化,但是IFeatureWorkspace 不是接口名么,这……
耽误高手们几分钟的时间,不知道我的疑惑有没有表达清楚,,但是请大家尽量能解释得尽量平实点。
新手表示要崩溃了