ITagAggregator<T> Interface

Aggregates all the tag providers in a buffer graph for the specified type of tag.

Namespace:  Microsoft.VisualStudio.Text.Tagging
Assembly:  Microsoft.VisualStudio.Text.Logic (in Microsoft.VisualStudio.Text.Logic.dll)


Public Interface ITagAggregator(Of Out T As ITag) _
    Inherits IDisposable
public interface ITagAggregator<out T> : IDisposable
where T : ITag
generic<typename T>
where T : ITag
public interface class ITagAggregator : IDisposable
type ITagAggregator<'T when 'T : ITag> =  
        interface IDisposable
JScript does not support generic types or methods.

Type Parameters

  • out T
    The type of tag returned by the aggregator.

    This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.

The ITagAggregator<T> type exposes the following members.


  Name Description
Public property BufferGraph Gets the buffer graph over which this aggregator operates.



  Name Description
Public method Dispose Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. (Inherited from IDisposable.)
Public method GetTags(IMappingSpan) Gets all the tags that overlap or are contained by the specified span of the type of the aggregator.
Public method GetTags(NormalizedSnapshotSpanCollection) Gets all the tags that overlap or are contained by the specified snapshotSpans of the type of the aggregator.
Public method GetTags(SnapshotSpan) Gets all the tags that overlap or are contained by the specified span of the same type as the aggregator.



  Name Description
Public event BatchedTagsChanged Occurs on idle after one or more TagsChanged events.
Public event TagsChanged Occurs when tags are added to or removed from providers.



The default tag aggregator implementation also disposes disposable taggers:

for each ITagger<T> over which the default tag aggregator aggregates tags, if the tagger implements IDisposable, call Dispose() on it when the aggregator is disposed or when the taggers are dropped. For example, you should call Dispose() when the content type of a text buffer changes or when a buffer is removed from the buffer graph.

For more information about tagging, see the "Tags and Classifiers" section of Inside the Editor. For information about extending and adding tags, see the "Extending Tags" section of Editor Extension Points.

See Also


Microsoft.VisualStudio.Text.Tagging Namespace