Added IDisposable to ICodedOutputStream
diff --git a/src/ProtocolBuffers/CodedOutputStream.cs b/src/ProtocolBuffers/CodedOutputStream.cs
index c14f5e0..bb133a7 100644
--- a/src/ProtocolBuffers/CodedOutputStream.cs
+++ b/src/ProtocolBuffers/CodedOutputStream.cs
@@ -57,7 +57,7 @@
     /// methods are taken from the protocol buffer type names, not .NET types.

     /// (Hence WriteFloat instead of WriteSingle, and WriteBool instead of WriteBoolean.)

     /// </remarks>

-    public sealed partial class CodedOutputStream : ICodedOutputStream

+    public sealed partial class CodedOutputStream : ICodedOutputStream, IDisposable

     {

         /// <summary>

         /// The buffer size used by CreateInstance(Stream).

@@ -125,6 +125,16 @@
         }

 

         #endregion

+        

+        public void Dispose()

+        {

+            if (output != null)

+            {

+                if (position > 0)

+                    Flush();

+                output.Dispose();

+            }

+        }

 

         #region Writing of unknown fields