How to get IFeatureclass from ILayer

3087
3
03-06-2013 02:32 AM
pavan_kumarmuttigi
New Contributor
Hi,

Can any one help me in getting the IFeatureClass from ILayer instance?


Thanks in Advance
0 Kudos
3 Replies
LeoDonahue
Occasional Contributor III
FeatureLayer implements ILayer, and it has a getFeatureClass() method that returns IFeatureClass.

Or are you asking how to get ILayer from a layer in a mxd or on disk?
0 Kudos
JasonPike
Occasional Contributor
Like Leo said, something like this should do it:

public IFeatureClass GetFeatureClassFromLayer(ILayer layer)
{
    IFeatureLayer featureLayer = null;
    IFeatureClass featureClass = null;
    
    if( null != (featureLayer = layer as IFeatureLayer))
    {
        featureClass = featureLayer.FeatureClass;
    }

    return featureClass;
}


I didn't plug that into an IDE to check for syntax mistakes, but that should get you started. Also, be sure to check your results for null. All IFeatureLayer instances are ILayer, but not all ILayer instances are IFeatureLayer.
0 Kudos
LeoDonahue
Occasional Contributor III
Not all implementing classes of ILayer have the ability to return the FeatureClass either.
0 Kudos