Freigeben über


SyntaxValueProvider.ForAttributeWithMetadataName<T> Methode

Definition

Erstellt eine IncrementalValuesProvider<TValues> , die eine Transformation für alle SyntaxNodes bereitstellen kann, wenn dieser Knoten über ein -Attribut verfügt, das mit den gleichen vollqualifizierten INamedTypeSymbol Metadaten wie die bereitgestellte fullyQualifiedMetadataNamegebunden wird. fullyQualifiedMetadataName sollte der vollqualifizierte Metadatenname des Attributs sein, einschließlich des Attribute Suffixes. Beispiel "System.CLSCompliantAttribute" : für 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)

Typparameter

T

Parameter

fullyQualifiedMetadataName
String
predicate
Func<SyntaxNode,CancellationToken,Boolean>

Eine Funktion, die bestimmt, ob das angegebene SyntaxNode Attributziel (TargetNode) transformiert werden soll. Bei Knoten, die dieses Prädikat nicht übergeben, werden ihre Attribute überhaupt nicht betrachtet.

transform
Func<GeneratorAttributeSyntaxContext,CancellationToken,T>

Eine Funktion, die die Transformation ausführt. Dies werden nur Knoten übergeben, die für predicate zurückgegeben true werden und die über einen Abgleich AttributeData verfügen, dessen AttributeClass Metadatenname denselben vollqualifizierten Metadatennamen wie fullyQualifiedMetadataNameaufweist.

Gibt zurück

Gilt für: