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] 指定列表项的索引相关。
- Category
类型:Microsoft.VisualStudio.Shell.Interop.LIB_CATEGORY
[in] 指定类别相关。值从 LIB_CATEGORY 枚举中采用。
- 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 |
|
LC_MEMBERACCESS |
|
LC_CLASSTYPE |
|
LC_CLASSACCESS |
|
LC_ACTIVEPROJECT |
未使用。 |
LC_LISTTYPE (尤其是,请参见下文) |
LIBCAT_LISTTYPE ( _LIB_LISTTYPEtypedef) |
LC_VISIBILITY |
|
LC_MODIFIER |
|
LC_NODETYPE (尤其是,请参见下文) |
如果 index 参数是 NULINDEX, Category 将是 LC_LISTTYPE ,并且该请求针对整个列表,而不是特定列表项。 此请求子列表类型支持此下列出。 在这种情况下将进行 pField 一个或多个从 _LIB_LISTTYPE 枚举的值。 例如, LLT_CLASSES 列表可以返回 LLT_CLASSES | 指示 的LLT_MEMBERS 它支持类和成员列表。 这样做,但是,并不意味着每个列表项中列出了支持两个子列表。
调用带有 LC_LISTTYPE 类别的 GetCategoryField 方法是环境确定的一种方式节点是否是可扩展的,因此它可能表示 “+”符号在对象浏览器 " 或 " 类视图 " 工具应显示。 从计算节点的可伸缩的开销可能会很大的库,该环境首次调用 GetExpandable。 如果该方法失败,则环境将调用 GetCategoryField。 请使用 GetExpandable2 ,则可以快地确定列表项的可展开的状态比完全枚举支持的所有列表中的项下。
不要实现非LLT_HIERARCHY 的 LC_NODETYPE 列表。 可以返回 LLT_HIERARCHY 的 LCNT_SYMBOL 列表而是符号实际上,列表。
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。