Compartilhar via


Método IProjectionBuffer.ReplaceSpans

Substitui uma seqüência de origem spans, com uma nova lista de ITrackingSpan objetos e/ou seqüências de caracteres literais.

Namespace:  Microsoft.VisualStudio.Text.Projection
Assembly:  Microsoft.VisualStudio.Text.Data (em Microsoft.VisualStudio.Text.Data.dll)

Sintaxe

'Declaração
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

Parâmetros

  • position
    Tipo: Int32

    A posição em que se inicia a substituição abrange.

  • spansToReplace
    Tipo: Int32

    O número de extensões para substituir.

  • spansToInsert
    Tipo: IList<Object>

    As novas extensões para inserir.

  • editTag
    Tipo: Object

    Um objeto que será associado esta transação de edição.

Valor de retorno

Tipo: Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot
An IProjectionSnapshot.

Exceções

Exceção Condição
ArgumentNullException

spansToInserté nulo ou um intervalo na lista são nulos.

ArgumentOutOfRangeException

positioné menor que zero ou maior que o número de extensões.

- ou -

spansToReplaceé menor que zero ou position + spansToReplace for maior que o número de extensões.

ArgumentException

Um elemento do spansToInsert não é um ITrackingSpan nem uma seqüência de caracteres.

- ou -

Uma extensão no spansToInsert causaria uma projeção duplicada.

- ou -

Uma extensão de rastreamento em spansToInsert é EdgeInclusive e não abrange o buffer inteiro, ou está EdgePositive e não limitam o final do seu buffer ou está EdgeNegative e não limitam o início do seu buffer.

(Essas verificações não são executadas se o buffer de projeção foi criado com o PermissiveEdgeInclusiveSourceSpans.)

- ou -

Adicionando um buffer de texto que contém um do spansToInsert criaria um ciclo entre um conjunto de buffers de projeção.

Segurança do .NET Framework

Consulte também

Referência

IProjectionBuffer Interface

Namespace Microsoft.VisualStudio.Text.Projection