次の方法で共有


SyntaxValueProvider.ForAttributeWithMetadataName<T> メソッド

定義

IncrementalValuesProvider<TValues>指定した と同じ完全修飾メタデータを持つ にバインドする属性がノードに存在する場合に、すべての SyntaxNodeノードに対してINamedTypeSymbol変換を提供fullyQualifiedMetadataNameできる を作成します。 fullyQualifiedMetadataName は、属性の完全修飾メタデータ名 (サフィックスを含む) である Attribute 必要があります。 たとえば "System.CLSCompliantAttribute" 、 です CLSCompliantAttribute

public Microsoft.CodeAnalysis.IncrementalValuesProvider<T> ForAttributeWithMetadataName<T> (string fullyQualifiedMetadataName, Func<Microsoft.CodeAnalysis.SyntaxNode,System.Threading.CancellationToken,bool> predicate, Func<Microsoft.CodeAnalysis.GeneratorAttributeSyntaxContext,System.Threading.CancellationToken,T> transform);
member this.ForAttributeWithMetadataName : string * Func<Microsoft.CodeAnalysis.SyntaxNode, System.Threading.CancellationToken, bool> * Func<Microsoft.CodeAnalysis.GeneratorAttributeSyntaxContext, System.Threading.CancellationToken, 'T> -> Microsoft.CodeAnalysis.IncrementalValuesProvider<'T>
Public Function ForAttributeWithMetadataName(Of T) (fullyQualifiedMetadataName As String, predicate As Func(Of SyntaxNode, CancellationToken, Boolean), transform As Func(Of GeneratorAttributeSyntaxContext, CancellationToken, T)) As IncrementalValuesProvider(Of T)

型パラメーター

T

パラメーター

fullyQualifiedMetadataName
String
predicate
Func<SyntaxNode,CancellationToken,Boolean>

指定 SyntaxNode した属性ターゲット (TargetNode) を変換するかどうかを決定する関数。 この述語を渡さないノードでは、属性はまったく調べられません。

transform
Func<GeneratorAttributeSyntaxContext,CancellationToken,T>

変換を実行する関数。 これは、 に返truepredicateされ、 と同じ完全修飾メタデータ名fullyQualifiedMetadataNameを持つ一致するAttributeDataAttributeClassノードのみが渡されます。

戻り値

適用対象