Método IVsObjectList.GetCategoryField (UInt32, LIB_CATEGORY, UInt32)
Retorna o valor para a categoria especificada para o item da lista fornecida.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
int GetCategoryField(
uint index,
LIB_CATEGORY Category,
out uint pField
)
int GetCategoryField(
unsigned int index,
LIB_CATEGORY Category,
[OutAttribute] unsigned int% pField
)
abstract GetCategoryField :
index:uint32 *
Category:LIB_CATEGORY *
pField:uint32 byref -> int
Function GetCategoryField (
index As UInteger,
Category As LIB_CATEGORY,
<OutAttribute> ByRef pField As UInteger
) As Integer
Parâmetros
- index
[in] Especifica o índice do item da lista de interesse.
- Category
[in] Especifica a categoria de interesse.Valores são obtidas a partir do LIB_CATEGORY enumeração.
- pField
[out] Ponteiro para uma variável que contém o valor retornado.
Valor de retorno
Type: System.Int32
Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.
Comentários
COM assinatura
De vsshell.idl:
HRESULT IVsObjectList::GetCategoryField(
[in] ULONG Index,
[in] LIB_CATEGORY Category,
[out,retval] DWORD* pField
);
Gerenciador de objetos do ambiente chama este método para recuperar os dados de categoria para os itens da lista.Você deve retornar o pField um valor de enumerador de LIB_ * enums correspondente a categoria especificada no parâmetro da Category parâmetro.As categorias e suas enumerações do campo associado são listadas na tabela a seguir.
Categoria de LIB_CATEGORY |
Enumeração LIBCAT_ |
---|---|
LC_MEMBERTYPE |
|
LC_MEMBERACCESS |
|
LC_CLASSTYPE |
|
LC_CLASSACCESS |
|
LC_ACTIVEPROJECT |
Não utilizados. |
LC_LISTTYPE (em especial, veja abaixo) |
LIBCAT_LISTTYPE (typedef de _LIB_LISTTYPE) |
LC_VISIBILITY |
|
LC_MODIFIER |
|
LC_NODETYPE (em especial, veja abaixo) |
Se a index parâmetro é NULINDEX, Category será LC_LISTTYPE e a solicitação for para a lista como um todo, não é um item de lista específica.Isso está pedindo para os tipos de lista de filhos suportados sob esta lista.Nesse caso, você deve atribuir pField um ou mais dos valores da _LIB_LISTTYPE enumeração.Por exemplo, um LLT_CLASSES lista pode retornar.LLT_CLASSES | LLT_MEMBERSpara indicar que ele oferece suporte classes e membros lista.Isso, no entanto, significa que cada item da lista nesta lista oferece suporte a ambas as listas de filho.
Chamar o GetCategoryField método com LC_LISTTYPE categoria é uma maneira do ambiente determina se um nó é expansível, portanto, ele pode indicar que um símbolo de '+' deve ser exibido nas ferramentas de modo de exibição de navegador ou classe de objeto.Como a capacidade de expansão de um nó de computação pode ser caro para sua biblioteca, primeiro chamará o ambiente GetExpandable.Se esse método falhar, entrará em contato com o ambiente GetCategoryField.Use GetExpandable2 se você pode determinar o estado expansível do item da lista muito mais rápido que Enumerando completamente todas as listas com suporte em determinado item.
Não implementam LC_NODETYPE para não-LLT_HIERARCHY lista.Você pode retornar LCNT_SYMBOL para LLT_HIERARCHY listas de listas, símbolo, na verdade, no entanto.
Consulte também
Interface IVsObjectList
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo