C# 8.0 – Specification – Disposable ref structs
Índice general – C# 8.0 – Specification
Una de las características del lenguaje C# añadidas en la versión 7.2 tenía que ver con ref structs.
El problema de las ref structs no obstante, era (y es) que no podemos implementar en ellas IDisposable, y por lo tanto, no podemos utilizar using.
Así que el siguiente código, nos indicará precisamente el error «ref structs cannot implement interfaces».
ref struct MyStruct : IDisposable { public void Dispose() { } }
Por lo tanto, la pregunta obligada que debemos hacernos sería, ¿cómo poder resolver este problema?.
Pues para resolver este problema, Microsoft ha permitido que las ref structs puedan ser disposables añadiendo únicamente el método Disponse como si estuviera implementado la interfaz IDisposable.
Por lo que nuestro código quedaría de la forma:
ref struct MyStruct { public void Dispose() { } }
De esta sencilla manera, nuestras ref structs serán disposable y soportará using.
Happy Coding!