다음을 통해 공유


SyntaxValueProvider.ForAttributeWithMetadataName<T> 메서드

정의

IncrementalValuesProvider<TValues> 해당 노드에 제공된 와 동일한 정규화된 메타데이터를 가진 에 바인딩 INamedTypeSymbol 되는 특성이 있는 경우 모든 SyntaxNodes에 대한 변환을 제공할 수 있는 을 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>

변환을 수행하는 함수입니다. 이 노드는 에 대해 를 반환 true 하고 와 동일한 정규화된 메타데이터 이름을 fullyQualifiedMetadataName가진 일치 AttributeData 항목이 AttributeClass 있는 노드만 전달 predicate 됩니다.

반환

적용 대상