namespace Chapter01All
{
class TwoTypePrametorGeneric<T, V>
{
public V Kasan(T a, V b)
{
return (V)( (dynamic)a + b);
}
}
class IntToDouble : TwoTypePrametorGeneric<int, double> { }
class DoubleToInt : TwoTypePrametorGeneric<double, int> { }
class Demo
{
static void Main()
{
IntToDouble objA = new IntToDouble();
Console.WriteLine(objA.Kasan(100, 100.5)); //200.5
DoubleToInt objB = new DoubleToInt();
Console.WriteLine(objB.Kasan(100.5, 200)); //300
}
}
}
例えばの話ですが、intとdoubleを加算しようと思えば、キャストすればいいのですが、それと同じような雰囲気のクラスを作って見ました。クラスの名称と関数を使うときに、対応は間違えられないとは思います。