Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

Funciones de elementos

A partir de MSBuild 4.0, el código de las tareas y los destinos pueden llamar a funciones de elementos para obtener información sobre los elementos del proyecto. Estas funciones simplifican la obtención de elementos Distinct() y son más rápidas que si se recorren en bucle los elementos.

Puede utilizar los métodos y propiedades de cadena en .NET Framework para trabajar con cualquier valor del elemento. Para los métodos String , especifique el nombre del método. Para las propiedades String , especifique el nombre de propiedad después de “get_”.

Para los elementos que tienen varias cadenas, el método de la cadena o ejecuta la propiedad en cada cadena.

El ejemplo siguiente se muestra cómo utilizar estas funciones de elementos de la cadena.

<ItemGroup>
    <theItem Include="andromeda;tadpole;cartwheel" />
</ItemGroup>

<Target Name = "go">
    <Message Text="IndexOf  @(theItem->IndexOf('r'))" />
    <Message Text="Replace  @(theItem->Replace('tadpole', 'pinwheel'))" />
    <Message Text="Length   @(theItem->get_Length())" />
    <Message Text="Chars    @(theItem->get_Chars(2))" />
</Target>

  <!--
  Output:
    IndexOf  3;-1;2
    Replace  andromeda;pinwheel;cartwheel
    Length   9;7;9
    Chars    d;d;r
  -->

En la tabla siguiente se muestran las funciones intrínsecas disponibles para los elementos.

Función

Ejemplo

Descripción

Count

@(MyItem->Count())

Devuelve el número de elementos.

DirectoryName

@(MyItem->DirectoryName())

Devuelve el equivalente Path.DirectoryName para cada elemento.

Distinct

@(MyItem->Distinct())

Devuelve los elementos que tienen valores distintos Include . Se omiten los metadatos. En la comparación no se distingue entre mayúsculas y minúsculas.

DistinctWithCase

@(MyItem->DistinctWithCase())

Devuelve los elementos que tienen valores distintos itemspec . Se omiten los metadatos. En la comparación se distingue entre mayúsculas y minúsculas.

Reverse

@(MyItem->Reverse())

Devuelve los elementos en orden inverso.

AnyHaveMetadataValue

@(MyItem->AnyHaveMetadataValue("MetadataName", "MetadataValue"))

Devuelve boolean para indicar si cualquier elemento tiene los metadatos con nombre y valor. En la comparación no se distingue entre mayúsculas y minúsculas.

ClearMetadata

@(MyItem->ClearMetadata())

Devuelve los elementos con sus metadatos borrados. Sólo se conserva itemspec .

HasMetadata

@(MyItem->HasMetadataValue("MetadataName")

Devuelve los elementos que tienen el nombre especificado de metadatos. En la comparación no se distingue entre mayúsculas y minúsculas.

Metadata

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

Devuelve los valores de metadatos que tiene el nombre de los metadatos.

WithMetadataValue

@(MyItem->WithMetadataValue("MetadataName", "MetadataValue")

Devuelve los elementos que tienen los metadatos con nombre y valor. En la comparación no se distingue entre mayúsculas y minúsculas.

El ejemplo siguiente se muestra cómo utilizar funciones intrínsecas del elemento.

<ItemGroup>
    <TheItem Include="first">
        <Plant>geranium</Plant>
    </TheItem>
    <TheItem Include="second">
        <Plant>algae</Plant>
    </TheItem>
    <TheItem Include="third">
        <Plant>geranium</Plant>
    </TheItem>
</ItemGroup>

<Target Name="go">
    <Message Text="MetaData:    @(TheItem->Metadata('Plant'))" />
    <Message Text="HasMetadata: @(theItem->HasMetadata('Plant'))" />
    <Message Text="WithMetadataValue: @(TheItem->WithMetadataValue('Plant', 'geranium'))" />
    <Message Text=" " />
    <Message Text="Count:   @(theItem->Count())" />
    <Message Text="Reverse: @(theItem->Reverse())" />
</Target>

  <!-- 
  Output:
    MetaData:    geranium;algae;geranium
    HasMetadata: first;second;third
    WithMetadataValue: first;third
   
    Count:   3
    Reverse: third;second;first
  -->
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.