internal ArcIMSServiceExplorerObject(ArcIMSConnectionExplorerObject parent, string name, string connectionString) : base(parent, typeof(ArcIMSClass), 1) { _name = name; _connectionString = connectionString; _parent = parent; }
async public Task <IExplorerObject> CreateInstanceByFullName(string FullName, ISerializableExplorerObjectCache cache) { if (cache.Contains(FullName)) { return(cache[FullName]); } FullName = FullName.Replace("/", @"\"); int lastIndex = FullName.LastIndexOf(@"\"); if (lastIndex == -1) { return(null); } string cnName = FullName.Substring(0, lastIndex); string svName = FullName.Substring(lastIndex + 1, FullName.Length - lastIndex - 1); ArcIMSConnectionExplorerObject cnObject = new ArcIMSConnectionExplorerObject(); cnObject = await cnObject.CreateInstanceByFullName(cnName, cache) as ArcIMSConnectionExplorerObject; var childObjects = await cnObject?.ChildObjects(); if (cnObject == null || childObjects == null) { return(null); } foreach (IExplorerObject exObject in childObjects) { if (exObject.Name == svName) { cache.Append(exObject); return(exObject); } } return(null); }