/// <summary> /// This returns false if the object should be filtered out according to currentFilters value /// </summary> /// <param name="obj"> </param> private bool FilterPass(ManagementClass obj) { switch (currentFilters) { case (ClassFilters.ConcreteData): { if (!WmiHelper.IsAbstract(obj) && !WmiHelper.IsAssociation(obj)) { return(true); } else { return(false); } } case (ClassFilters.ConcreteOrHavingConcreteSubclasses): { if (!WmiHelper.IsAbstract(obj) || WmiHelper.HasNonAbstractChildren(obj)) { return(true); } else { return(false); } } case (ClassFilters.ExtrinsicEvents): { if (WmiHelper.IsEvent(obj)) { return(true); } else { return(false); } } case (ClassFilters.All): { return(true); } default: break; } return(true); }