[GIS] Getting Layer DataSource information in ArcObjects with C#

arcmaparcobjectsc

I have a mxd file with 6 layers. I want to get datasource information for each layer. Please see the code below. I want to know how exactly i should get layer's datasource information

IDocument doc = ArcMap.Application.Document;
IMxDocument mxDoc = doc as IMxDocument;

IMap map = mxDoc.FocusMap;

ILayer layer = map.get_Layer(0);// Layer[0];

Best Answer

I have found the answer for my question. Please look at below mentioned code,

IDocument doc = ArcMap.Application.Document;
IMxDocument mxDoc = doc as IMxDocument;
IMap map = mxDoc.FocusMap;
ILayer layer = map.get_Layer(0);
ESRI.ArcGIS.Carto.IFeatureLayer featureLayer = (ESRI.ArcGIS.Carto.IFeatureLayer)layer;
ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass = featureLayer.FeatureClass;
ESRI.ArcGIS.Geodatabase.IDataset dataSet = (ESRI.ArcGIS.Geodatabase.IDataset)featureClass;      
ESRI.ArcGIS.esriSystem.IPropertySet propertySet = dataSet.Workspace.ConnectionProperties;
object propertyNames;
object propertyValues;
propertySet.GetAllProperties(out propertyNames, out propertyValues);
System.Array propNameArray = (System.Array)propertyNames;
System.Array propValuesArray = (System.Array)propertyValues;
Related Question