サンプル集  >  C#  >  ジェネリックに使えるクラス
ジェネリックに使えるクラス
2019/07/10

ジェネリックに使えるクラスのテストです。

ジェネリックとは「汎用的」という意味です。

◆環境
OS Windows 7 Professional Service Pack 1 64bit
C# 01018-587-4054026-70893

以下の手順を行います。

  1. [ファイル]-[新規作成]-[プロジェクト]を選択します。
  2. [Visual C#]を選択し、[Windows コンソール アプリケーション]を選択します。
    「プロジェクト名」は「GenericsTest」にします。

Program.cs
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GenericsTest
{
    class Program
    {
        static void Main(string[] args)
        {
            // string型を指定
            var c1 = new MyClass<string>();
            c1.val = "My Class 1.";
            System.Console.WriteLine("val["+c1.val+"]");
            System.Console.WriteLine("def["+c1.Default()+"]");

            // decimal型を指定
            var c2 = new MyClass<decimal>();
            c2.val = 1.23m;
            System.Console.WriteLine("val["+c2.val+"]");
            System.Console.WriteLine("def["+c2.Default()+"]");

            System.Console.ReadLine();
        }
    }

    // ジェネリッククラス
    public class MyClass<T>
    {
        public T val { get; set; }

        // T型のデフォルト値を返す
        public T Default()
        {
            return default(T);
        }
    }
}

実行してみます。

val[My Class 1.]
def[]
val[1.23]
def[0]

型パラメータでstringを指定したときはstring型として、decimalを指定したときはdecimal型として動作しました。

デフォルト値はdefaultキーワードを使って型ごとのデフォルト値を取得しています。

▲ PageTop  ■ Home


Copyright (C) 2019 ymlib.com