---
title: "ジェネリックス"
content_type: tutorial
url: "https://learn.unity.com/tutorial/generics-jp?language=ja"
language: ja
difficulty: intermediate
duration_minutes: 5
unity_version:
  - "2019.3"
  - "2019.2"
  - "2019.1"
  - "2018.4"
  - "2018.3"
  - "2018.2"
  - "2018.1"
  - "2017.4"
  - "2017.3"
  - "2017.2"
  - "2017.1"
  - "5.x"
  - "4.x"
supported_unity_versions:
  - name: "2019.3"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2019.3"
  - name: "2019.2"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2019.2"
  - name: "2019.1"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2019.1"
  - name: "2018.4"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2018.4"
  - name: "2018.3"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2018.3"
  - name: "2018.2"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2018.2"
  - name: "2018.1"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2018.1"
  - name: "2017.4"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2017.4"
  - name: "2017.3"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2017.3"
  - name: "2017.2"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2017.2"
  - name: "2017.1"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=2017.1"
  - name: "5.x"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=5.x"
  - name: "4.x"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja&version=4.x"
available_languages:
  - name: "en"
    url: "https://learn.unity.com/tutorial/generics.md?language=en"
  - name: "es"
    url: "https://learn.unity.com/tutorial/genericos.md?language=es"
  - name: "ja"
    url: "https://learn.unity.com/tutorial/generics-jp.md?language=ja"
  - name: "zh-cn"
    url: "https://learn.unity.com/tutorial/tong-yong.md?language=zh-cn"
last_updated: "2026-08-04T14:21:21.000Z"
---

# ジェネリックス

C# のジェネリックメソッドとクラスを定義して利用し、再利用性と型安全性の高いコードを書く方法を学びます。

ジェネリックスメソッドとクラスを作成して使用する方法を学びます。

## 1. ジェネリックス

[Video](http://www.youtube.com/watch?v=LnjuFeHLQ2Y)

**SomeClass クラスのコード**

```csharp
using UnityEngine;
using System.Collections;

public class SomeClass 
{
    // これはジェネリックメソッドです。
    // ジェネリック型「T」に注意してください。
    // この「T」は実行時に実際の型に置き換えられます。
    public T GenericMethod<T>(T param)
    {
        return param;
    }
}
```

**SomeOtherClass クラスのコード**

```csharp
using UnityEngine;
using System.Collections;

public class SomeOtherClass : MonoBehaviour 
{
    void Start () 
    {
        SomeClass myClass = new SomeClass();

        // このメソッドを使用するには、
        // 「T」をどの型に置き換えるかをメソッドに指示する必要があります。
        myClass.GenericMethod<int>(5);
    }
}
```

GenericClass クラスのコード

```csharp
using UnityEngine;
using System.Collections;

// これはジェネリッククラスです。ジェネリック型「T」に注意してください。
//「T」は実際の型に置き換えられます。
// クラスで使用されている「T」型のインスタンスについても同様です。
public class GenericClass<T> 
{
    T item;

    public void UpdateItem(T newItem)
    {
        item = newItem;
    }
}
```

**GenericClassExample クラスのコード**

```csharp
using UnityEngine;
using System.Collections;

public class GenericClassExample : MonoBehaviour 
{
    void Start () 
    {        
        // ジェネリッククラスのオブジェクトを作成するには、
        // クラスの型を指定する必要があります。
        GenericClass<int> myClass = new GenericClass<int>();

        myClass.UpdateItem(5);
    }
}
```
