ルルのゲーム開発備忘録

主にUnityやC#に関する情報を気まぐれに投稿していきま~す

【Unity】ジェネリックとは?目的や使い方について解説

はじめに

Unityでは、ジェネリックを使って、型に依存しないコードを実現することができます。

ジェネリックの基本

ジェネリックは、C#の機能で、汎用的なプログラムを記述するために使用されます。プログラマは、クラスやメソッドを宣言する際に、型パラメータを指定することができます。

// ジェネリックなクラスの宣言
public class MyClass<T> 
{
    public T Value { get; set; }

    public MyClass(T value)
    {
        Value = value;
    }
}

// int型を格納するMyClassのインスタンスを作成する
var myInstance = new MyClass<int>(10);

上記の例では、MyClassクラスがジェネリックなクラスであり、が型パラメータです。Tはジェネリックな型引数であり、クラス内部で使用される型を指定します。

Unityでのジェネリックの利点

Unityでは、ジェネリックを使用することで、以下のような利点があります。

  • 型に依存しないコードを書くことができる
  • プログラムをより柔軟にすることができる

型に依存しないコード

ジェネリックを使用することで、コンポーネントシリアライズされたデータに型に依存しないデータを保存することができます。

// ジェネリックなコンポーネントの宣言
public class MyComponent<T> : MonoBehaviour
{
    public T Data { get; set; }
}

// intやstring型を保存できるMyComponentのインスタンスを作成する
var myData = new MyComponent<int>();
myData.Data = 10;

var myText = new MyComponent<string>();
myText.Data = "Hello World";

上記の例では、が型パラメータです。Tは、Dataプロパティで使用される型を指定します。

まとめ

Unityでジェネリックを使用することで、柔軟なプログラムを作成したり、データ構造をより汎用的にすることができます。