0

特定のライブラリのコードを C# で (Resharper による逆コンパイルを使用して) 表示すると、次のようなクリーンアップ コードに出くわすことがあります。

public class Something
{
    private SomeObject _someObject;

    ...

    public void Dispose()
    {
        _someObject = (SomeObject) null;
    }
}

nullここでクリアされているフィールドのタイプにキャストする利点は何ですか?

4

1 に答える 1

3

null逆コンパイラは、キャストなしの割り当てとキャストありの割り当てを区別できません。これらは同じことを行い、同じ IL にコンパイルされるためです。nullオーバーロードされたメソッドを呼び出す場合など、キャストが必要になる場合があるため、一部の逆コンパイラでは単純化のために常にキャストが含まれる場合があります。

ここには利点がなく、元のコードにキャストが含まれていなかったのではないかと強く疑っています。

于 2015-08-05T16:50:48.143 に答える