ジェネリック

確認済のバージョン: 4.1

-

難易度: 中級

ジェネリックメソッドとジェネリッククラスの作成と使い方について学びます。

ジェネリック

中級 スクリプティング

SomeClass

Code snippet

using UnityEngine;
using System.Collections;

public class SomeClass 
{
    //これは、ジェネリックメソッドです
    //ジェネリック型を表す T となっていることに注目してください
    //この T はランタイムに実際の型に置き換えられます
    public T GenericMethod<T>(T param)
    {
        return param;
    }
}
//JavaScript ではジェネリック型で定義することができません
//この機能を使うには、C# を使用することが必用です
import UnityEngine
import System.Collections


public class SomeClass:

    //これは、ジェネリックメソッドです
    //ジェネリック型を表す T となっていることに注目してください
    //この T はランタイムに実際の型に置き換えられます 
    public def GenericMethod [of T](param as T) as T:
        return param

SomeOtherClass

Code snippet

using UnityEngine;
using System.Collections;

public class SomeOtherClass : MonoBehaviour 
{
    void Start () 
    {
        SomeClass myClass = new SomeClass();
        
        //このメソッドを使用するには、
        //T をどの型に置き換えるかを
        //メソッドに指示する必要があります
        myClass.GenericMethod<int>(5);
    }
}
//JavaScript ではジェネリック型で定義することができません
//この機能を使うには、C# を使用することが必用です
import UnityEngine
import System.Collections


public class SomeOtherClass(MonoBehaviour):

    private def Start():
        myClass = SomeClass()
        
        //このメソッドを使用するには、
        //T をどの型に置き換えるかを
        //メソッドに指示する必要があります
        myClass.GenericMethod[of int](5)

GenericClass

Code snippet

using UnityEngine;
using System.Collections;

//これは、ジェネリックメソッドです。ジェネリック型を表す T と
//なっていることに注目してください。クラス内で型 T を使用しているインスタンス同様、
//この T はランタイムに実際の型に置き換えられます。
public class GenericClass <T>
{
    T item;
    
    public void UpdateItem(T newItem)
    {
        item = newItem;
    }
}
//JavaScript ではジェネリック型で定義することができません
//この機能を使うには、C# を使用する必用があります
import UnityEngine
import System.Collections


//これは、ジェネリックメソッドです。ジェネリック型を表す T と
//なっていることに注目してください。クラス内で型 T を使用しているインスタンス同様、
//この T はランタイムに実際の型に置き換えられます。
public class GenericClass [of T]:

    private item as T

    
    public def UpdateItem(newItem as T):
        item = newItem

GenericClassExample

Code snippet

using UnityEngine;
using System.Collections;

public class GenericClassExample : MonoBehaviour 
{
    void Start () 
    {       
        //ジェネリッククラスのオブジェクトを作成するには、
        //クラスの型を特定する必要があります
        GenericClass<int> myClass = new GenericClass<int>();
        
        myClass.UpdateItem(5);
    }
}
//JavaScript ではジェネリック型で定義することができません
//この機能を使うには、C# を使用する必用があります
import UnityEngine
import System.Collections


public class GenericClassExample(MonoBehaviour):

    private def Start():
        //ジェネリッククラスのオブジェクトを作成するには、
        //クラスの型を特定する必要があります
        myClass as GenericClass[of int] = GenericClass[of int]()
        
        myClass.UpdateItem(5)

関連するチュートリアル

スクリプティング

  1. スクリプトを使ったコンポーネントの作成
  2. 変数と関数
  3. 規則と構文
  4. C# と JS 構文の違い
  5. IF 文
  6. ループ
  7. スコープとアクセス指定子
  8. Awake と Start
  9. Update と FixedUpdate
  10. ベクトル演算
  11. コンポーネントの有効化と無効化
  12. ゲームオブジェクトのアクティベーション
  13. Translate と Rotate
  14. LookAt
  15. Linear Interpolation
  16. Destroy
  17. GetButton と GetKey
  18. GetAxis
  19. OnMouseDown
  20. GetComponent
  21. deltaTime
  22. データ型
  23. クラス
  24. Instantiate
  25. 配列
  26. Instantiate
  27. 列挙
  28. Switch 文
  1. プロパティー
  2. 三項演算子
  3. 静的な変数、メソッド、クラスの作り方
  4. メソッドのオーバーロード
  5. ジェネリック
  6. 継承
  7. ポリモーフィズム
  8. メンバーの隠ぺい
  9. オーバーライド
  10. インターフェース
  11. 拡張メソッド
  12. 名前空間
  13. リストと辞書
  14. コルーチン
  15. クォータニオン
  16. デリゲート
  17. 属性
  18. イベント
  1. カスタムインスペクターの作成
  2. DrawDefaultInspector 関数
  3. カスタムインスペクターへのボタンの追加
  1. MonoDevelop's Debugger
  2. Good Coding Practices in Unity
  3. Unity Editor Extensions – Menu Items
  4. Creating Meshes
  1. AssetBundles and the AssetBundle Manager
  2. Mastering Unity Project Folder Structure - Version Control Systems
  1. Installing Tools for Unity Development
  2. Building your first Unity Game with Visual Studio
  3. Editing Unity games in Visual Studio
  4. Debugging Unity games in Visual Studio
  5. Graphics debugging Unity games in Visual Studio
  6. Taking Unity games to Universal Windows Platform
  7. Testing Unity games on Android in Visual Studio
  1. Scripting Primer and Q&A
  2. Scripting Primer and Q&A - Continued
  3. Scripting Primer and Q&A - Continued (Again)
  4. Persistence - Saving and Loading Data
  5. Object Pooling
  6. Introduction to Scriptable Objects
  7. How to communicate between Scripts and GameObjects
  8. Coding in Unity for the Absolute Beginner
  9. Sound Effects & Scripting
  10. Editor Scripting Intro
  11. Writing Plugins
  12. Property Drawers & Custom Inspectors
  13. Events: Creating a simple messaging system
  14. Using Interfaces to Make a State Machine for AI
  15. Ability System with Scriptable Objects
  16. Character Select System with Scriptable Objects
  1. Intro and Setup
  2. Data Classes
  3. Menu Screen
  4. Game UI
  5. Answer Button
  6. Displaying Questions
  7. Click To Answer
  8. Ending The Game and Q&A
  1. Intro To Part Two
  2. High Score with PlayerPrefs
  3. Serialization and Game Data
  4. Loading Game Data via JSON
  5. Loading and Saving via Editor Script
  6. Game Data Editor GUI
  7. Question and Answer
  1. Overview and Goals
  2. Localization Data
  3. Dictionary, JSON and Streaming Assets
  4. Localization Manager
  5. Startup Manager
  6. Localized Text Component
  7. Localized Text Editor Script
  8. Localization Q&A