I'm trying to retrieve all subtypes for a given feature class. ISubtypes.Subtypes give you an enumeration of all subtypes in the class. However the IEnumSubtype.Next method requires the subtype code to retrieve the associated subtype. But this obviously requires prior knowledge of all subtype codes. There are no methods on ISubtypes that retrieve all subtype codes. So, how do I obtain a list of both the subtype codes and subtype names associated with a feature class? I must be missing something obvious here.
Tell me more
×
Geographic Information Systems Stack Exchange is a question and answer site for
cartographers, geographers and GIS professionals. It's 100% free, no registration required.
|
I found a way to retrieve both the subtype codes and subtype names for a feature class using the Geoprocessor. I did not find a way to get the codes directly from ISubtypes, which I find unusual. In any case, the following code will create a Dictionary(Of Integer, String) containing the subtype code as the key and the subtype name as the value:
|
|||
|
|
|
The C++ syntax for IEnumSubtype.Next shows that SubtypeCode is an out parameter. You can loop through IEnumSubtype getting both the subtype codes and descriptions for your featureclass. Loop while the returned string is not null. |
|||
|
|
byref, which means that you would provide a variable that gets set by the method. I think it would have made it clearer if Esri made itoutinstead ofbyref. – Kirk Kuykendall May 3 '12 at 19:54