c# mocking streamwriter

c# - Heredar de StreamWriter con el menor esfuerzo posible



mocking (2)

Estoy usando una biblioteca externa que permite el registro usando StreamWriter; ahora quiero agregar algo de manejo basado en el contenido del registro. Como quiero evitar recorrer el archivo de registro, me gustaría escribir una clase que herede de StreamWriter.
¿Cuál es la mejor forma de heredar de StreamWriter con pocas reimplementaciones de métodos / constructores?


No estoy seguro de lo que quieres hacer exactamente, pero si solo quieres inspeccionar lo que se está escribiendo en la transmisión, puedes hacer esto:

public class CustomStreamWriter : StreamWriter { public CustomStreamWriter(Stream stream) : base(stream) {} public override void Write(string value) { //Inspect the value and do something base.Write(value); } }


Determine el constructor que utiliza la biblioteca externa e impleméntelo (o simplemente impleméntelos todos) y luego solo debe sobrescribir los métodos de escritura que utiliza su biblioteca externa.

public class Class1 : StreamWriter { public Class1(Stream stream) : base(stream) { } public Class1(Stream stream, Encoding encoding) : base(stream, encoding) { } public Class1(Stream stream, Encoding encoding, int bufferSize) : base(stream, encoding, bufferSize) { } public Class1(string path) : base(path) { } public Class1(string path, bool append) : base(path, append) { } public Class1(string path, bool append, Encoding encoding) : base(path, append, encoding) { } public Class1(string path, bool append, Encoding encoding, int bufferSize) : base(path, append, encoding, bufferSize) { } public override void Write(string value) { base.Write(value); } }