IBufferGraph.MapDownToFirstMatch 方法 (SnapshotPoint, PointTrackingMode, Predicate<ITextSnapshot>, PositionAffinity)

将关系图中的位置映射到关系图中处于较低层的匹配缓冲区内的位置。 源缓冲区被视为低于使用它们的投影缓冲区。

命名空间:  Microsoft.VisualStudio.Text.Projection
程序集:  Microsoft.VisualStudio.Text.Data(在 Microsoft.VisualStudio.Text.Data.dll 中)

语法

声明
Function MapDownToFirstMatch ( _
    position As SnapshotPoint, _
    trackingMode As PointTrackingMode, _
    match As Predicate(Of ITextSnapshot), _
    affinity As PositionAffinity _
) As Nullable(Of SnapshotPoint)
Nullable<SnapshotPoint> MapDownToFirstMatch(
    SnapshotPoint position,
    PointTrackingMode trackingMode,
    Predicate<ITextSnapshot> match,
    PositionAffinity affinity
)
Nullable<SnapshotPoint> MapDownToFirstMatch(
    SnapshotPoint position, 
    PointTrackingMode trackingMode, 
    Predicate<ITextSnapshot^>^ match, 
    PositionAffinity affinity
)
abstract MapDownToFirstMatch : 
        position:SnapshotPoint * 
        trackingMode:PointTrackingMode * 
        match:Predicate<ITextSnapshot> * 
        affinity:PositionAffinity -> Nullable<SnapshotPoint> 
function MapDownToFirstMatch(
    position : SnapshotPoint, 
    trackingMode : PointTrackingMode, 
    match : Predicate<ITextSnapshot>, 
    affinity : PositionAffinity
) : Nullable<SnapshotPoint>

参数

  • match
    类型:Predicate<ITextSnapshot>

    标识目标缓冲区的谓词。

  • affinity
    类型:Microsoft.VisualStudio.Text.PositionAffinity

    如果映射不明确(位置位于源范围接合处),则确定映射目标应紧跟在顶层缓冲区中前一个字符之后还是应紧跟在后一个字符之前。

    如果映射明确,则此设置不起作用。

返回值

类型:Nullable<SnapshotPoint>
在目标缓冲区快照中的一个点或 nullnull 引用(在 Visual Basic 中为 Nothing) ,如果此位置未向下映射到 match选择的任何缓冲区。

异常

异常 条件
ArgumentNullException

position。快照或 match 是 nullnull 引用(在 Visual Basic 中为 Nothing)。

ArgumentOutOfRangeException

trackingMode 不是有效的 PointTrackingMode,或者 affinity 不是有效的 PositionAffinity

备注

match 谓词对缓冲区关系图中的每个文本缓冲区,直到返回 true。 在谓词不再调用。

.NET Framework 安全性

请参阅

参考

IBufferGraph 接口

MapDownToFirstMatch 重载

Microsoft.VisualStudio.Text.Projection 命名空间