public static void RemovePerSubjectBufferProperty <TProperty, TTextView>( this TTextView textView, ITextBuffer subjectBuffer, object key) where TTextView : class, ITextView { Contract.ThrowIfNull(textView); Contract.ThrowIfNull(subjectBuffer); PerSubjectBufferProperty <TProperty, TTextView> .RemoveValue(textView, subjectBuffer, key); }
public static bool TryGetPerSubjectBufferProperty <TProperty, TTextView>( this TTextView textView, ITextBuffer subjectBuffer, object key, out TProperty value) where TTextView : class, ITextView { Contract.ThrowIfNull(textView); Contract.ThrowIfNull(subjectBuffer); return(PerSubjectBufferProperty <TProperty, TTextView> .TryGetValue(textView, subjectBuffer, key, out value)); }
public static void AddPerSubjectBufferProperty <TProperty, TTextView>( this TTextView textView, ITextBuffer subjectBuffer, object key, TProperty value) where TTextView : class, ITextView { Contract.ThrowIfNull(textView); Contract.ThrowIfNull(subjectBuffer); PerSubjectBufferProperty <TProperty, TTextView> .AddValue(textView, subjectBuffer, key, value); }
/// <summary> /// Gets or creates a per subject buffer property, returning true if it needed to create it. /// </summary> public static bool GetOrCreatePerSubjectBufferProperty <TProperty, TTextView>( this TTextView textView, ITextBuffer subjectBuffer, object key, Func <TTextView, ITextBuffer, TProperty> valueCreator, out TProperty value) where TTextView : class, ITextView { Contract.ThrowIfNull(textView); Contract.ThrowIfNull(subjectBuffer); Contract.ThrowIfNull(valueCreator); return(PerSubjectBufferProperty <TProperty, TTextView> .GetOrCreateValue(textView, subjectBuffer, key, valueCreator, out value)); }