C# ジェネリック(generic)実装例

2009/11/24 18:37Update
TAGS: C# | ジェネリック | generic | サンプル | インタフェース

C# ジェネリック(generic)の実装例です。

C#ジェネリックについて
ジェネリックの概要 (C# プログラミング ガイド) - MSDN

インタフェース・ジェネリック(generic)


例:
namespace Test.Generic
{
    public interface ITest <T>
    {
        /// <summary>
        /// IDからオブジェクト取得
        /// </summary>
        /// <param name="id">ID</param>
        /// <returns></returns>
        T Get(String id);

        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="obj">保存対象オブジェクト</param>
        /// <returns></returns>
        T Save(T obj);
    }
}


インタフェースから継承するクラス・ジェネリック(generic)


例:
using System;
using System.Collections.Generic;

namespace Test.Generic
{
    public class Test<T> : ITest<T>
    {

        /// <summary>
        /// IDからオブジェクト取得
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public T Get(String id)
        {
            Object obj = ..;//ここでオブジェクト取得
            T t = (T)obj;

            return t;
        }

        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="obj">保存対象オブジェクト</param>
        /// <returns></returns>
        public T Save(T obj)
        {
            //do something with obj;
            return obj;
        }

    }
}


お呼び出し方


例:
ITest<MyObject> test = new Test<MyObject>(); //MyObjectは定義済みの型です。定義の説明は省略します。
MyObject ex = test.Get("123");
...
test.save(ex);


参考資料


ジェネリックプログラミング - Wikipedia
.NET Framework におけるジェネリック
ジェネリックの概要 (C# プログラミング ガイド) - MSDN

有关作者
Syboos.jp編集長システム設計や開発、保守運営などを行ってます。オープンソース技術に興味があります。

Sponsored Link


Comments