Class SafeTextWriterWrapper
  
  Decorates a System.IO.TextWriter instance and
makes no assumptions about whether System.IDisposable.Dispose()
has been called on the inner instance or not. Acts like a circuit breaker -
the first System.ObjectDisposedException caught turns it off and
the rest of the calls are ignored after that point until Reset()
is called.
The primary purpose is for using a System.IO.TextWriter instance within a non-disposable
parent object. Since the creator of the System.IO.TextWriter ultimately is responsible for
disposing it, our non-disposable object has no way of knowing whether it is safe to use the System.IO.TextWriter.
Wraping the System.IO.TextWriter within a SafeTextWriterWrapper ensures the
non-disposable object can continue to make calls to the System.IO.TextWriter without raising
exceptions (it is presumed that the System.IO.TextWriter functionality is optional).
 
  
  
    Inheritance
    System.Object
    System.IO.TextWriter
    SafeTextWriterWrapper
   
  
    Implements
    System.IDisposable
   
  
    Inherited Members
    
      System.IO.TextWriter.CoreNewLine
    
    
      System.IO.TextWriter.Null
    
    
      System.IO.TextWriter.Dispose()
    
    
      System.IO.TextWriter.WriteAsync(System.Char[])
    
    
      System.IO.TextWriter.WriteLineAsync(System.Char[])
    
    
      System.Object.Equals(System.Object, System.Object)
    
    
      System.Object.GetType()
    
    
      System.Object.MemberwiseClone()
    
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
   
  
  Assembly: Lucene.Net.dll
  Syntax
  
    public class SafeTextWriterWrapper : TextWriter, IDisposable
   
  Constructors
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  SafeTextWriterWrapper(TextWriter)
  
  
  Declaration
  
    public SafeTextWriterWrapper(TextWriter textWriter)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.IO.TextWriter | 
        textWriter | 
         | 
      
    
  
  Properties
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Encoding
  
  
  Declaration
  
    public override Encoding Encoding { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Text.Encoding | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Encoding
  
    |
    Improve this Doc
  
  
    View Source
  
  
  FormatProvider
  
  
  Declaration
  
    public override IFormatProvider FormatProvider { get; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.IFormatProvider | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.FormatProvider
  
    |
    Improve this Doc
  
  
    View Source
  
  
  NewLine
  
  
  Declaration
  
    public override string NewLine { get; set; }
   
  Property Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.String | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.NewLine
  Methods
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Dispose(Boolean)
  
  
  Declaration
  
    protected override void Dispose(bool disposing)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Boolean | 
        disposing | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Dispose(System.Boolean)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Equals(Object)
  
  
  Declaration
  
    public override bool Equals(object obj)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        obj | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  Overrides
  System.Object.Equals(System.Object)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Flush()
  
  
  Declaration
  
    public override void Flush()
   
  Overrides
  System.IO.TextWriter.Flush()
  
    |
    Improve this Doc
  
  
    View Source
  
  
  FlushAsync()
  
  
  Declaration
  
    public override Task FlushAsync()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.FlushAsync()
  
    |
    Improve this Doc
  
  
    View Source
  
  
  GetHashCode()
  
  
  Declaration
  
    public override int GetHashCode()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Int32 | 
         | 
      
    
  
  Overrides
  System.Object.GetHashCode()
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Reset()
  
  
  Declaration
  
    public virtual void Reset()
   
  
    |
    Improve this Doc
  
  
    View Source
  
  
  ToString()
  
  
  Declaration
  
    public override string ToString()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.String | 
         | 
      
    
  
  Overrides
  System.Object.ToString()
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(Boolean)
  
  
  Declaration
  
    public override void Write(bool value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Boolean | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.Boolean)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(Char)
  
  
  Declaration
  
    public override void Write(char value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Char | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.Char)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(Char[])
  
  
  Declaration
  
    public override void Write(char[] buffer)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Char[] | 
        buffer | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.Char[])
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(Char[], Int32, Int32)
  
  
  Declaration
  
    public override void Write(char[] buffer, int index, int count)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Char[] | 
        buffer | 
         | 
      
      
        | System.Int32 | 
        index | 
         | 
      
      
        | System.Int32 | 
        count | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.Char[], System.Int32, System.Int32)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(Decimal)
  
  
  Declaration
  
    public override void Write(decimal value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Decimal | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.Decimal)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(Double)
  
  
  Declaration
  
    public override void Write(double value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Double | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.Double)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(Int32)
  
  
  Declaration
  
    public override void Write(int value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.Int32)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(Int64)
  
  
  Declaration
  
    public override void Write(long value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int64 | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.Int64)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(Object)
  
  
  Declaration
  
    public override void Write(object value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.Object)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(Single)
  
  
  Declaration
  
    public override void Write(float value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Single | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.Single)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(String)
  
  
  Declaration
  
    public override void Write(string value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.String)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(String, Object)
  
  
  Declaration
  
    public override void Write(string format, object arg0)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        format | 
         | 
      
      
        | System.Object | 
        arg0 | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.String, System.Object)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(String, Object, Object)
  
  
  Declaration
  
    public override void Write(string format, object arg0, object arg1)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        format | 
         | 
      
      
        | System.Object | 
        arg0 | 
         | 
      
      
        | System.Object | 
        arg1 | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.String, System.Object, System.Object)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(String, Object, Object, Object)
  
  
  Declaration
  
    public override void Write(string format, object arg0, object arg1, object arg2)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        format | 
         | 
      
      
        | System.Object | 
        arg0 | 
         | 
      
      
        | System.Object | 
        arg1 | 
         | 
      
      
        | System.Object | 
        arg2 | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.String, System.Object, System.Object, System.Object)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(String, Object[])
  
  
  Declaration
  
    public override void Write(string format, params object[] arg)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        format | 
         | 
      
      
        | System.Object[] | 
        arg | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.String, System.Object[])
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(UInt32)
  
  
  Declaration
  
    [CLSCompliant(false)]
public override void Write(uint value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.UInt32 | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.UInt32)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Write(UInt64)
  
  
  Declaration
  
    [CLSCompliant(false)]
public override void Write(ulong value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.UInt64 | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.Write(System.UInt64)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteAsync(Char)
  
  
  Declaration
  
    public override Task WriteAsync(char value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Char | 
        value | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteAsync(System.Char)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteAsync(Char[], Int32, Int32)
  
  
  Declaration
  
    public override Task WriteAsync(char[] buffer, int index, int count)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Char[] | 
        buffer | 
         | 
      
      
        | System.Int32 | 
        index | 
         | 
      
      
        | System.Int32 | 
        count | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteAsync(System.Char[], System.Int32, System.Int32)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteAsync(String)
  
  
  Declaration
  
    public override Task WriteAsync(string value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        value | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteAsync(System.String)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine()
  
  
  Declaration
  
    public override void WriteLine()
   
  Overrides
  System.IO.TextWriter.WriteLine()
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(Boolean)
  
  
  Declaration
  
    public override void WriteLine(bool value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Boolean | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.Boolean)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(Char)
  
  
  Declaration
  
    public override void WriteLine(char value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Char | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.Char)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(Char[])
  
  
  Declaration
  
    public override void WriteLine(char[] buffer)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Char[] | 
        buffer | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.Char[])
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(Char[], Int32, Int32)
  
  
  Declaration
  
    public override void WriteLine(char[] buffer, int index, int count)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Char[] | 
        buffer | 
         | 
      
      
        | System.Int32 | 
        index | 
         | 
      
      
        | System.Int32 | 
        count | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.Char[], System.Int32, System.Int32)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(Decimal)
  
  
  Declaration
  
    public override void WriteLine(decimal value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Decimal | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.Decimal)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(Double)
  
  
  Declaration
  
    public override void WriteLine(double value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Double | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.Double)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(Int32)
  
  
  Declaration
  
    public override void WriteLine(int value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.Int32)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(Int64)
  
  
  Declaration
  
    public override void WriteLine(long value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int64 | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.Int64)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(Object)
  
  
  Declaration
  
    public override void WriteLine(object value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.Object)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(Single)
  
  
  Declaration
  
    public override void WriteLine(float value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Single | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.Single)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(String)
  
  
  Declaration
  
    public override void WriteLine(string value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.String)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(String, Object)
  
  
  Declaration
  
    public override void WriteLine(string format, object arg0)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        format | 
         | 
      
      
        | System.Object | 
        arg0 | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.String, System.Object)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(String, Object, Object)
  
  
  Declaration
  
    public override void WriteLine(string format, object arg0, object arg1)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        format | 
         | 
      
      
        | System.Object | 
        arg0 | 
         | 
      
      
        | System.Object | 
        arg1 | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.String, System.Object, System.Object)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(String, Object, Object, Object)
  
  
  Declaration
  
    public override void WriteLine(string format, object arg0, object arg1, object arg2)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        format | 
         | 
      
      
        | System.Object | 
        arg0 | 
         | 
      
      
        | System.Object | 
        arg1 | 
         | 
      
      
        | System.Object | 
        arg2 | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.String, System.Object, System.Object, System.Object)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(String, Object[])
  
  
  Declaration
  
    public override void WriteLine(string format, params object[] arg)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        format | 
         | 
      
      
        | System.Object[] | 
        arg | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.String, System.Object[])
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(UInt32)
  
  
  Declaration
  
    [CLSCompliant(false)]
public override void WriteLine(uint value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.UInt32 | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.UInt32)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLine(UInt64)
  
  
  Declaration
  
    [CLSCompliant(false)]
public override void WriteLine(ulong value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.UInt64 | 
        value | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLine(System.UInt64)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLineAsync()
  
  
  Declaration
  
    public override Task WriteLineAsync()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLineAsync()
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLineAsync(Char)
  
  
  Declaration
  
    public override Task WriteLineAsync(char value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Char | 
        value | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLineAsync(System.Char)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLineAsync(Char[], Int32, Int32)
  
  
  Declaration
  
    public override Task WriteLineAsync(char[] buffer, int index, int count)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Char[] | 
        buffer | 
         | 
      
      
        | System.Int32 | 
        index | 
         | 
      
      
        | System.Int32 | 
        count | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLineAsync(System.Char[], System.Int32, System.Int32)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  WriteLineAsync(String)
  
  
  Declaration
  
    public override Task WriteLineAsync(string value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        value | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Threading.Tasks.Task | 
         | 
      
    
  
  Overrides
  System.IO.TextWriter.WriteLineAsync(System.String)
  Implements
  
      System.IDisposable
  
  Extension Methods