gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:1142回复:1

vb.net中使用接口问题

楼主#
更多 发布于:2005-01-12 02:05
<TABLE width="100%">

<TR>
<TD class=subtitle colSpan=6>内容摘要</TD></TR>
<TR>
<TD class=txt colSpan=6>以前有一段在8.3下面写的代码,是用于获取某字段独立值的,如下:
Public Function lstUniqueValue(ByVal pFeatClass As IFeatureClass, ByVal pFieldName As String) As Collection
Dim i As Long
Dim lCount As Long
Dim pValue As Object

Dim pDataStat As ESRI.ArcGIS.Geodatabase.IDataStatistics
Dim pFeatCursor As IFeatureCursor
Dim pEnumVar As IEnumVariantSimple

Try
lstUniqueValue = New Collection
pFeatCursor = pFeatClass.Search(Nothing, False)
pDataStat = New ESRI.ArcGIS.Geodatabase.DataStatistics
pDataStat.Field = pFieldName
pDataStat.Cursor = pFeatCursor
pEnumVar = pDataStat.UniqueValues
lCount = pDataStat.UniqueValueCount
If lCount <> 0 Then
For i = 0 To lCount - 1
pValue = pEnumVar.Next()
lstUniqueValue.Add(pValue)
Next
End If
Catch ex As Exception
lstUniqueValue = Nothing
MsgBox("错误描述:" ; ex.Message)
End Try

pDataStat = Nothing
pFeatCursor = Nothing
pEnumVar = Nothing
End Function

现在在vb.net下似乎pDataStat.UniqueValues的UniqueValues方法与net框架的同名方法冲突,我加了定义限定仍然不行,提示错误是“类型无法转换”,请问该如何解决这个问题
其实也可以用很笨的循环判断的方法,但这个方法效率很高,我们想将这个程序调通
谢谢。</TD></TR>
<TR>
<TD class=subtitle colSpan=6>过程描述</TD></TR>
<TR>
<TD class=txt colSpan=6>只要将Dim pEnumVar As IEnumVariantSimple 改为Dim pEnumVar As System.Collections.IEnumerator即可。
如下:

Dim pEnumVar As System.Collections.IEnumerator

Try
lstUniqueValue = New Collection
pFeatCursor = pFeatClass.Search(Nothing, False)
pDataStat = New ESRI.ArcGIS.Geodatabase.DataStatistics
pDataStat.Field = pFieldName
pDataStat.Cursor = pFeatCursor
pEnumVar = pDataStat.UniqueValues
lCount = pDataStat.UniqueValueCount
If lCount <> 0 Then
For i = 0 To lCount - 1
pValue = pEnumVar.MoveNext()
lstUniqueValue.Add(pValue)
Next
End If
Catch ex As Exception
lstUniqueValue = Nothing
MsgBox("错误描述:" ; ex.Message)
End Try</TD></TR></TABLE>
喜欢0 评分0
GIS麦田守望者,期待与您交流。
gsl1982
路人甲
路人甲
  • 注册日期2004-05-08
  • 发帖数135
  • QQ
  • 铜币543枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-01-14 08:35
呵呵,不错,有时间我试试!
举报 回复(0) 喜欢(0)     评分
游客

返回顶部