IProjectionBufferFactoryService::CreateProjectionBuffer Method (IProjectionEditResolver^, IList<Object^>^, ProjectionBufferOptions, IContentType^)
Creates an IProjectionBuffer object with a specified IContentType and the specified list of ITrackingSpan objects and/or literal strings.
Assembly: Microsoft.VisualStudio.Text.Data (in Microsoft.VisualStudio.Text.Data.dll)
IProjectionBuffer^ CreateProjectionBuffer( IProjectionEditResolver^ projectionEditResolver, IList<Object^>^ sourceSpans, ProjectionBufferOptions options, IContentType^ contentType )
Parameters
- projectionEditResolver
-
Type:
Microsoft.VisualStudio.Text.Projection::IProjectionEditResolver^
The conflict resolver for this IProjectionBuffer. May be null.
- sourceSpans
-
Type:
System.Collections.Generic::IList<Object^>^
The initial set of source spans for the IProjectionBuffer.
- options
-
Type:
Microsoft.VisualStudio.Text.Projection::ProjectionBufferOptions
Options for this buffer.
- contentType
-
Type:
Microsoft.VisualStudio.Utilities::IContentType^
The IContentType for the new IProjectionBuffer.
Return Value
Type: Microsoft.VisualStudio.Text.Projection::IProjectionBuffer^A non-null projection buffer.
| Exception | Condition |
|---|---|
| ArgumentNullException | sourceSpans or any of its elements is null. |
| ArgumentException | An element of sourceSpans is neither a string nor an ITrackingSpan. -or- A tracking span in sourceSpans is EdgeInclusive and does not cover its entire buffer, or is EdgePositive and does not abut the end of its buffer, or is EdgeNegative and does not abut the beginning of its buffer. These checks are not performed if the projection buffer was created with the PermissiveEdgeInclusiveSourceSpans option.) -or- Some of the tracking spans in sourceSpans overlap. |