示例#1
0
        public Task <object> GetInstanceAsync()
        {
            if (_class == null)
            {
                try
                {
                    Dataset      dataset = new Dataset();
                    IRasterLayer layer   = (IRasterLayer)dataset.AddRasterFile(_filename);

                    if (layer != null && layer.Class is IRasterClass)
                    {
                        _class = layer.Class as IRasterClass;
                        if (_class is RasterClassV1)
                        {
                            if (!((RasterClassV1)_class).isValid)
                            {
                                _class = null;
                            }
                        }
                    }
                }
                catch { return(Task.FromResult <object>(_class)); }
            }
            return(Task.FromResult <object>(_class));
        }