zyf1097727546
2017-08-11 04:53索引超出范围。必须为非负值并小于集合大小。这是怎么回事啊
60public static ISpatialReference GetSpatialReference(IFeatureDataset pFeatureDataset)
{
IGeoDataset pGeoDataset = pFeatureDataset as IGeoDataset;
ISpatialReference pSpatialReference = pGeoDataset.SpatialReference;
return pSpatialReference;
}
public static List GetAllFeatureClass(IWorkspace workspace)
{
IEnumDataset dataset = workspace.get_Datasets(esriDatasetType.esriDTFeatureDataset);
IFeatureDataset featureDataset = dataset as IFeatureDataset;
List<IFeatureDataset> featureDatasetList = new List<IFeatureDataset>();
while (featureDataset != null)
{
featureDatasetList.Add(featureDataset);
featureDataset = dataset.Next() as IFeatureDataset;
}
return featureDatasetList;
}
public static IWorkspace GetShapefileWorkspace(string sFilePath)
{
try
{
IWorkspaceFactory factory = new ShapefileWorkspaceFactoryClass();
sFilePath = System.IO.Path.GetDirectoryName(sFilePath);
return factory.OpenFromFile(sFilePath, 0);
}
catch
{
return null;
}
}
private void 属性ToolStripMenuItem_Click(object sender, EventArgs e)
{
IWorkspace workspace = GetShapefileWorkspace(@"C:\Users\10977\Desktop\AE\培训数据\空间分析\1为新学校选址\新学校选址.mxd");
List<IFeatureDataset> lfd = GetAllFeatureClass(workspace);
ISpatialReference isr = GetSpatialReference(lfd[0]);
string st=isr.Name.ToString();
Form2 fr =new Form2();
fr.Show();
}
ISpatialReference isr = GetSpatialReference(lfd[0]);这句话提示索引超出范围。必须为非负值并小于集合大小。求解啊
- 点赞
- 回答
- 收藏
- 复制链接分享
4条回答
为你推荐
- 为什么给chart加个标题,索引超出范围。必须为非负值并小于集合大小。
- sqlite
- c#
- visual studio
- 2个回答
- 索引超出范围。必须为非负值并小于集合大小。
- sqlite
- c#
- visual studio
- 2个回答
- c# dataGridView1 点击获取内容 点击标题栏出来超出索引错误
- c#
- visual studio
- 1个回答
- 索引超出范围。必须为非负值并小于集合大小。这是怎么回事啊
- arcgis engine
- dataset
- c#
- 4个回答
- wpf点击treeviewitem节点显示文件,但点击调用Process.Start方法抛出异常
- net
- treeview
- list
- c#
- 异常
- 1个回答
换一换