int IVsEnumTaskItems.Next(uint celt, Microsoft.VisualStudio.Shell.Interop.IVsTaskItem[] rgelt, uint[] pceltFetched) { if (pceltFetched == null) { if (celt != 1) { return(VSConstants.E_POINTER); } } if (null == rgelt) { return(VSConstants.S_FALSE); } uint cReturn = 0; int iRgelt = 0; while (celt > 0 && recipeReferencesEnumerator.MoveNext()) { RecipeTaskItem recipeTaskItem = recipeReferencesEnumerator.Current as RecipeTaskItem; rgelt[iRgelt] = recipeTaskItem; iRgelt++; cReturn++; --celt; } if (null != pceltFetched) { pceltFetched[0] = cReturn; } return(VSConstants.S_OK); }
protected override void OnSited() { base.OnSited(); IAssetReferenceService referenceService = (IAssetReferenceService) this.GetService(typeof(IAssetReferenceService), true); foreach (IAssetReference reference in referenceService.GetAll()) { if (reference is RecipeReference && reference is IBoundAssetReference) { RecipeTaskItem recipeTaskItem = new RecipeTaskItem((RecipeReference)reference); this.Add(recipeTaskItem, reference.Key); } } ((IVsEnumTaskItems)this).Reset(); }