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: 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.IProjectionBufferA 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. |
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.