Here are a few links:ITopologicalOperatorISpatialFilterIQueryFilterI'm afraid this is really just a disservice to you....these conversion exercises are a great opportunity to make connections between some code that you understand and the syntax of a new language you are trying to learn. Regarless I converted the code...but no testing. I hope this helps: enum WorkspaceType { enumGeodatabase = 0, enumPersonalGeodatabase = 1, enumShape = 2, enumCoverage = 3 }
private void button1_Click(object sender, EventArgs e)
{
try
{
WorkspaceType iWorkspaceConnect = WorkspaceType.enumShape;
IPropertySet pPropset = new PropertySet();
IWorkspaceFactory pFact;
switch (iWorkspaceConnect)
{
case WorkspaceType.enumGeodatabase:
pPropset.SetProperty("Server", "hephaestus");
pPropset.SetProperty("Instance", "sde8_mss");
pPropset.SetProperty("Database", "sde");
pPropset.SetProperty("user", "sde");
pPropset.SetProperty("password", "go");
pPropset.SetProperty("version", "sde.DEFAULT");
pFact = new SdeWorkspaceFactory();
System.Windows.Forms.MessageBox.Show("Geodatabase");
break;
case WorkspaceType.enumPersonalGeodatabase:
pPropset.SetProperty("DATABASE", "d:\\data\\Access Data\\SDETest.mdb");
pFact = new AccessWorkspaceFactory();
System.Windows.Forms.MessageBox.Show("Personal Geodatabase");
break;
case WorkspaceType.enumShape:
pPropset.SetProperty("DATABASE", "D:\\data\\SDEtestData\\Greeley");
pFact = new ShapefileWorkspaceFactory();
System.Windows.Forms.MessageBox.Show("Shapefile");
break;
case WorkspaceType.enumCoverage:
pPropset.SetProperty("DATABASE", "D:\\data\\Coverage");
pFact = new ArcInfoWorkspaceFactory();
System.Windows.Forms.MessageBox.Show("Coverage");
break;
default:
break;
}
IWorkspace pWorkspace = pFact.Open(pPropset, 0);
IFeatureWorkspace pFeatureWorkspace = (IFeatureWorkspace)pWorkspace;
IFeatureClass pFeatureClass;
if(iWorkspaceConnect == WorkspaceType.enumCoverage)
pFeatureClass = pFeatureWorkspace.OpenFeatureClass("parcelsolygon");
else
pFeatureClass = pFeatureWorkspace.OpenFeatureClass("parcels");
IQueryFilter pQueryFilter = new QueryFilter(){ WhereClause = "SUBTYPE = 'INDSTL'" };
IFeatureCursor pFeatureCursor = pFeatureClass.Search(pQueryFilter, false);
IFeature pFeature = pFeatureCursor.NextFeature();
int iRecCount = 0;
while (pFeature != null)
{
iRecCount +=1;
pFeature = pFeatureCursor.NextFeature();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}