C# ジェネリック(generic)実装例
2009/11/24 18:37Update
C# ジェネリック(generic)の実装例です。
C#ジェネリックについて
ジェネリックの概要 (C# プログラミング ガイド) - MSDN
例:
例:
例:
ジェネリックプログラミング - Wikipedia
.NET Framework におけるジェネリック
ジェネリックの概要 (C# プログラミング ガイド) - MSDN
ジェネリックの概要 (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
Sponsored Link
- Relative Articles
- JLCA で JavaコードをC#に変換する - (2009/10/14 15:28)
- Console.Out.WriteLineでコンソールで出力する - (2009/10/15 16:09)
- typeofによる 型(System.Type)の取得 - (2009/10/15 16:58)
- C#クラスの継承と親コントラクタの呼び出し方法 一例 - (2009/10/19 18:12)
- サンプルから学ぶ C# クラスの定義方法 - (2009/10/21 16:36)
- C#言語でのThreadLocal実装方法 - (2009/10/23 17:18)
- カスタムユーザコンポーネントWindowsControlLibraryの作成とその利用方法 - (2009/11/09 13:39)
- C# クラスにカスタム・イベントの実装 - (2009/11/10 18:19)
- C# オブジェクトの型の判定 - (2009/11/11 16:22)
- C#イベントログの汎用実装 一例 - (2009/12/02 17:49)