Freigeben über


IProjectionBuffer.ReplaceSpans-Methode

Ersetzt eine Sequenz von Quellspannen durch eine neue Liste von ITrackingSpan-Objekten und/oder Literalzeichenfolgen.

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

Syntax

'Declaration
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

Parameter

  • position
    Typ: Int32

    Die Position, an der mit dem Ersetzen der Spannen begonnen werden soll.

  • spansToReplace
    Typ: Int32

    Die Anzahl der zu ersetzenden Spannen.

  • spansToInsert
    Typ: IList<Object>

    Die einzufügenden neuen Spannen.

  • editTag
    Typ: Object

    Ein Objekt, das dieser Bearbeitungstransaktion zugeordnet wird.

Rückgabewert

Typ: Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot
Ein IProjectionSnapshot.

Ausnahmen

Ausnahme Bedingung
ArgumentNullException

spansToInsert ist NULL oder eine Spanne in der Liste ist NULL.

ArgumentOutOfRangeException

position ist kleiner als Null oder größer als die Anzahl von Spannen.

- oder -

spansToReplace ist kleiner als Null oder position + spansToReplace größer als die Anzahl von Spannen ist.

ArgumentException

Ein Element von spansToInsert ist weder ITrackingSpan noch eine Zeichenfolge.

- oder -

Eine Spanne in spansToInsert wäre eine doppelte Projektion verursachen.

- oder -

Eine Nachverfolgungsspanne in spansToInsert ist EdgeInclusive und enthält nicht den gesamten Puffer oder EdgePositive ist nicht betroffen und das Ende des Puffers EdgeNegative ist oder nicht berührt und den Anfang des Puffers.

(Diese Prüfungen werden nicht ausgeführt, wenn der Projektionspuffer mit PermissiveEdgeInclusiveSourceSpans) erstellt wurde.

- oder -

Beim Hinzufügen eines Textpuffer, der ein spansToInsert enthält, würde einen Zyklus Projektions unter einem Satz von Puffern erstellt.

.NET Framework-Sicherheit

Siehe auch

Referenz

IProjectionBuffer Schnittstelle

Microsoft.VisualStudio.Text.Projection-Namespace