Partilhar via


Funções de item

Começando com o MSBuild 4.0, o código em tarefas e destinos pode chamar funções de item para obter informações sobre os itens no projeto. Essas funções simplificam Obtendo itens de Distinct() e são mais rápidas que looping através dos itens.

Funções de seqüência

Projetos podem chamar qualquer método de propriedade de cadeia de caracteres de FX em um item. Para itens com várias seqüências de caracteres, a função é executado em cada seqüência de caracteres. Por exemplo:

<x Include="a;b;cccc"/>
<z Include="@(x->get_Length())"/>

Retorna z: 1;1;4

Outras funções

A tabela abaixo lista as funções intrínsecas disponíveis para itens. Além de para essas funções

Função

Exemplo

Descrição

[DirectoryName]

@(MyItem->DirectoryName())

Retorna o [DirectoryName] itens [itemsOfType].

[Metadata]

@(MyItem->Metadata("Name"))

Retorna o conteúdo dos metadados em especificado em [argument[0]].

[DistinctWithCase]

@(AnItem->DistinctWithCase())

Retorna os itens de [itemsOfType] que possuem distintas [Item1] valores a [Tuple]. A comparação diferencia maiúsculas de minúsculas.

[Distinct]

@(AnItem->Distinct())

Retorna os itens de [itemsOfType] que possuem distintas [Item1] valores a [Tuple]. A comparação diferencia maiúsculas de minúsculas.

[DistinctWithComparer]

@(MyItem->DistinctWithComparer())

Função intrínseca que retorna os itens de [itemsOfType] que possuem distintas [Item1] valores a [Tuple]. A comparação diferencia maiúsculas de minúsculas.

[ExpandQuotedExpressionFunction]

@(MyItem->ExpandQuotedExpressionFunction("@(Compile->'%(Trans)')"))

Função intrínseca que transforma a expressões como o %(Trans) in @(Compile->'%(Trans)').

[ClearMetadata]

@(MyItem->ClearMetadata())

Retorna os itens do [itemsOfType] com seus metadados desmarcado, ou seja, somente o [itemspec] é retida.

[WithMetadataValue]

@(MyItem->WithMetadataValue("ItemType"))

Retorna os itens que tenham dado metadados. A comparação diferencia maiúsculas de minúsculas.

[AnyHaveMetadataValue]

@(MyItem->AnyHavemetadataValue("ItemType"))

Retorna um boolean para indicar se qualquer um dos itens ter dado metadados. A comparação diferencia maiúsculas de minúsculas.