IVsObjectList.GetCategoryField 方法

返回指定类别的值给定列表项。

命名空间:  Microsoft.VisualStudio.Shell.Interop
程序集:  Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)

语法

声明
Function GetCategoryField ( _
    index As UInteger, _
    Category As LIB_CATEGORY, _
    <OutAttribute> ByRef pField As UInteger _
) As Integer
int GetCategoryField(
    uint index,
    LIB_CATEGORY Category,
    out uint pField
)

参数

  • index
    类型:System.UInt32
    [in] 指定列表项的索引相关。
  • pField
    类型:System.UInt32%
    [out] 为表示值的变量的指针返回。

返回值

类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。

备注

COM 签名

从 vsshell.idl:

HRESULT IVsObjectList::GetCategoryField(
   [in] ULONG Index,
   [in] LIB_CATEGORY Category,
   [out,retval] DWORD* pField
);

环境的对象管理器调用此方法检索类别列表的数据项目。 可以从 LIB_* 枚举的一个枚举数的值与类别对应于 Category 参数指定的 pField 参数必须返回。 类别及其关联的字段枚举下表中列出。

从 LIB_CATEGORY 的类别

LIBCAT_ 枚举

LC_MEMBERTYPE

_LIBCAT_MEMBERTYPE

LC_MEMBERACCESS

_LIBCAT_MEMBERACCESS

LC_CLASSTYPE

_LIBCAT_CLASSTYPE

LC_CLASSACCESS

_LIBCAT_CLASSACCESS

LC_ACTIVEPROJECT

未使用。

LC_LISTTYPE (尤其是,请参见下文)

LIBCAT_LISTTYPE ( _LIB_LISTTYPEtypedef)

LC_VISIBILITY

_LIBCAT_VISIBILITY

LC_MODIFIER

_LIBCAT_MODIFIERTYPE

LC_NODETYPE (尤其是,请参见下文)

_LIBCAT_NODETYPE

如果 index 参数是 NULINDEX, Category 将是 LC_LISTTYPE ,并且该请求针对整个列表,而不是特定列表项。 此请求子列表类型支持此下列出。 在这种情况下将进行 pField 一个或多个从 _LIB_LISTTYPE 枚举的值。 例如, LLT_CLASSES 列表可以返回 LLT_CLASSES | 指示 的LLT_MEMBERS 它支持类和成员列表。 这样做,但是,并不意味着每个列表项中列出了支持两个子列表。

调用带有 LC_LISTTYPE 类别的 GetCategoryField 方法是环境确定的一种方式节点是否是可扩展的,因此它可能表示 “+”符号在对象浏览器 " 或 " 类视图 " 工具应显示。 从计算节点的可伸缩的开销可能会很大的库,该环境首次调用 GetExpandable。 如果该方法失败,则环境将调用 GetCategoryField。 请使用 GetExpandable2 ,则可以快地确定列表项的可展开的状态比完全枚举支持的所有列表中的项下。

不要实现非LLT_HIERARCHYLC_NODETYPE 列表。 可以返回 LLT_HIERARCHYLCNT_SYMBOL 列表而是符号实际上,列表。

.NET Framework 安全性

请参见

参考

IVsObjectList 接口

Microsoft.VisualStudio.Shell.Interop 命名空间