rksoftware

Visual Studio とか C# とかが好きです

C# 2.0 以降の新機能の確認 - C# 8.0 - 破棄可能な ref 構造体

C# 2.0 以降の新機能を一つづつ確認していきます。
以前に一度行ったのですが、公式ドキュメント再編でリンク切れしているところを見つけてしまったので。今ならもっと簡潔なサンプルが欠けるところもあるだろうし、せっかくなので今もう一度確認して行きます。

破棄可能な ref 構造体

 [ 良いリンクを見つけられませんでした ]
 ref 構造体はインターフェイスを実装できないため、IDisposable インターフェイスを実装できません。しかし、これからは ref 構造体では、インターフェイスを実装しなくても void Dispose() メソッドを作るだけで OK となった。

{
    using var c = new C();
}// B.Dispose と表示される

// Dispose が実装された ref 構造体
ref struct C
{
    // IDisposable インターフェイスを実装せずメソッド宣言
    public void Dispose() => Console.WriteLine("B.Dispose");
}