IProjectionBuffer.ReplaceSpans 方法

将源范围序列替换为 ITrackingSpan 对象和/或字符串的新列表。

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

语法

声明
Function ReplaceSpans ( _
    position As Integer, _
    spansToReplace As Integer, _
    spansToInsert As IList(Of Object), _
    options As EditOptions, _
    editTag As Object _
) As IProjectionSnapshot
IProjectionSnapshot ReplaceSpans(
    int position,
    int spansToReplace,
    IList<Object> spansToInsert,
    EditOptions options,
    Object editTag
)
IProjectionSnapshot^ ReplaceSpans(
    int position, 
    int spansToReplace, 
    IList<Object^>^ spansToInsert, 
    EditOptions options, 
    Object^ editTag
)
abstract ReplaceSpans : 
        position:int * 
        spansToReplace:int * 
        spansToInsert:IList<Object> * 
        options:EditOptions * 
        editTag:Object -> IProjectionSnapshot
function ReplaceSpans(
    position : int, 
    spansToReplace : int, 
    spansToInsert : IList<Object>, 
    options : EditOptions, 
    editTag : Object
) : IProjectionSnapshot

参数

  • position
    类型:Int32

    替换范围的起始位置。

  • spansToReplace
    类型:Int32

    要替换的范围数。

  • spansToInsert
    类型:IList<Object>

    要插入的新范围。

  • editTag
    类型:Object

    将与此编辑事务关联的对象。

返回值

类型:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot
一个 IProjectionSnapshot

异常

异常 条件
ArgumentNullException

spansToInsert 为 null 或列表中的一个范围为空。

ArgumentOutOfRangeException

position 大于零的小于或大于范围数。

- 或 -

spansToReplace 小于零或 position + spansToReplace 大于的大小小于数。

ArgumentException

spansToInsert 的元素不是 ITrackingSpan 和字符串。

- 或 -

在 spansToInsert 的范围将导致重复的投影。

- 或 -

在 spansToInsert 的跟踪范围是 EdgeInclusive ,不包括其整个缓冲区,也是 EdgePositive ,并且不紧靠其缓冲区的末尾,也是 EdgeNegative ,并且不紧靠其缓冲区的开头。

(这些检查未实现,如果投影缓冲区。 PermissiveEdgeInclusiveSourceSpans创建的。)

- 或 -

添加包含一 spansToInsert 的文本缓冲区将创建在中的循环设置投影缓冲区。

.NET Framework 安全性

请参阅

参考

IProjectionBuffer 接口

Microsoft.VisualStudio.Text.Projection 命名空间