コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】GameObject型のインスタンスのnullチェックを省略可能な拡張メソッド

概要

// ゲームオブジェクトをアクティブにする
// ゲームオブジェクトがnullの場合は何もしない
if ( go != null )
{
    go.SetActive( true );
}
// ゲームオブジェクトからBoxColliderを取得する
// ゲームオブジェクトがnullの場合は何もしない
BoxCollider result = null;
if ( go != null )
{
    result = go.GetComponent<BoxCollider>();
}

プログラムを書いていると往々にしてnullチェックを記述する機会があります

下記の拡張メソッドを使用することで
GameObject型のインスタンスのnullチェックの記述を省略して
関数を呼び出すことが可能です

// ゲームオブジェクトをアクティブにする
// ゲームオブジェクトがnullの場合は何もしない
go.SetActiveIfNotNull( true );
// ゲームオブジェクトからBoxColliderを取得する
// ゲームオブジェクトがnullの場合はデフォルト値が返ってくる
var result = go.GetComponentIfNotNull<BoxCollider>();

関連記事