Getting an IDataset from an IDatasetName

326
2
08-02-2010 08:50 AM
GeorgeSilva
New Contributor
Hello guys,

I'm having troubles getting the correspondent IDataset value from a list of IDatasetName objects.

Is there an easy way to do it? The simple QI from one another always returns null for me.

        
        public IDataset GetDataset(string targetDatasetName)
        {
            if (DatasetNames.Count <= 0)
                GetDatasetNames();

            IDatasetName datasetName = DatasetNames.Find(IsDatasetName(targetDatasetName));
            IDataset dataset = datasetName as IDataset; // this always returns null.

            if (dataset == null)
                throw new DatasetHandlerException(GeodatabaseMessages.DatasetCouldNotBeFound);

            return dataset;
        }


Ideas?
0 Kudos
2 Replies
ThavitinaiduGulivindala
Occasional Contributor
Hi
Query interface IDatasetName to IName and use Open() method on IName that givies you IDataset object.

public IDataset GetDataset(string targetDatasetName)
        {
            if (DatasetNames.Count <= 0)
                GetDatasetNames();

            IDatasetName datasetName = DatasetNames.Find(IsDatasetName(targetDatasetName));
            IName as nameObj = datasetName  as IName;
            IDataset dataset = nameObj.Open() as IDataset;

            if (dataset == null)
                throw new DatasetHandlerException(GeodatabaseMessages.DatasetCouldNotBeFound);

            return dataset;
        }
0 Kudos
GeorgeSilva
New Contributor
Thanks a million!
0 Kudos