カテゴリー
C

C#,ジェネリック型のクラスのdynamicを使った演算、デフォルトコンストラクターとプロパティを使ってみました。

using System;

namespace Chapter01All
{
    class GenericClassDemo2
    {
        public static void Main()
        {
            var testClass1 = new TestClass<int>(20, 30);
            Console.WriteLine(testClass1.GetAns);

            var testClass2 = new TestClass<double>(200.2, 300.3);
            Console.WriteLine(testClass2.GetAns);

            var testClass3 = new TestClass<int>();
            testClass3.Seta = 10;
            testClass3.Setb = 20;
            testClass3.MakeAns();
            Console.WriteLine(testClass3.GetAns);
        }
    }
}

namespace Chapter01All
{

    class TestClass<T>
    {
        T a;
        T b;
        T ans;
        public TestClass(T x , T y)
        {
            a = x;
            b = y;
            ans = (dynamic)a + (dynamic)b;
        }
        public TestClass()
        {
            a = (dynamic)0;
            b = (dynamic)0;
            ans = (dynamic)0;
        }
        public T Seta {
            set
            {
                a = value;
            }
        }
        public T Setb
        {
            set
            {
                b = value;
            }
        }
        public T GetAns {
            get{
                return (dynamic)ans;
            }
        }
        public void MakeAns()
        {
            ans = (dynamic)a + (dynamic)b;
        }
    }
}

MakeAnsが復活しました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

inserted by FC2 system