SyntaxValueProvider.ForAttributeWithMetadataName<T> 方法

定义

IncrementalValuesProvider<TValues>如果节点上有INamedTypeSymbol一个属性,该节点绑定到具有与提供的 fullyQualifiedMetadataName相同的完全限定元数据的 ,则创建一个 ,该节点可针对所有 SyntaxNode提供转换。 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 并且具有匹配 AttributeData 的,其 AttributeClass 完全限定的元数据名称与 fullyQualifiedMetadataName相同。

返回

适用于