項目用の関数
MSBuild 4.0 以降では、タスクおよびターゲットのコードで項目関数を呼び出して、プロジェクト内の項目に関する情報を取得できます。 これらの関数により、Distinct() 項目の取得が簡素化され、項目をループ処理するよりも処理が速くなります。
文字列関数
プロジェクトで項目に対して FX 文字列プロパティ メソッドを呼び出すことができます。 項目に複数の文字列が含まれている場合は、各文字列に対して関数が実行されます。 次に例を示します。
<x Include="a;b;cccc"/>
<z Include="@(x->get_Length())"/>
z: 1;1;4 を返します。
その他の関数
次の表に、項目に対して使用できる組み込み関数を示します。 これらの関数に加え、
関数 |
例 |
説明 |
---|---|---|
[DirectoryName] |
|
[itemsOfType] の項目の [DirectoryName] を返します。 |
[Metadata] |
|
[argument[0]] で指定されているメタデータの内容を返します。 |
[DistinctWithCase] |
|
[Tuple] で異なる [Item1] 値を持つ [itemsOfType] の項目を返します。 比較では、大文字と小文字を区別します。 |
[Distinct] |
|
[Tuple] で異なる [Item1] 値を持つ [itemsOfType] の項目を返します。 比較では、大文字と小文字を区別しません。 |
[DistinctWithComparer] |
|
[Tuple] で異なる [Item1] 値を持つ [itemsOfType] の項目を返す組み込み関数です。 比較では、大文字と小文字を区別しません。 |
[ExpandQuotedExpressionFunction] |
|
%(Trans) in @(Compile->'%(Trans)') のように式を変換する組み込み関数です。 |
[ClearMetadata] |
|
メタデータが消去された [itemsOfType] の項目を返します (つまり、 [itemspec] のみ保持されます)。 |
[WithMetadataValue] |
|
指定されたメタデータを持つ項目を返します。 比較では、大文字と小文字を区別しません。 |
[AnyHaveMetadataValue] |
|
指定されたメタデータを持つ項目があるかどうかを示す boolean を返します。 比較では、大文字と小文字を区別しません。 |