public int EnumProperties(enum_DEBUGPROP_INFO_FLAGS dwFields, uint nRadix, ref Guid guidFilter, uint dwTimeout, out uint pcelt, out IEnumDebugPropertyInfo2 ppEnum) { ppEnum = new MonoPropertyInfosEnum(locals.Select(x => x.GetDebugPropertyInfo(dwFields))); ppEnum.GetCount(out pcelt); return VSConstants.S_OK; }
public int EnumChildren(enum_DEBUGPROP_INFO_FLAGS dwFields, uint dwRadix, ref Guid guidFilter, enum_DBG_ATTRIB_FLAGS dwAttribFilter, string pszNameFilter, uint dwTimeout, out IEnumDebugPropertyInfo2 ppEnum) { var typeMirror = variable.Type; var properties = typeMirror.GetProperties().Cast<Mirror>(); var methods = typeMirror.GetMethods(); var fields = typeMirror.GetFields(); var children = properties.Concat(methods).Concat(fields).ToList(); ppEnum = new MonoPropertyInfosEnum(children.Select(x => new MonoProperty(frame, variable, typeMirror, x).GetDebugPropertyInfo(dwFields))); return VSConstants.S_OK; }