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が復活しました。