> さて、書いてる途中でふと思いました。これって、使うときには
> Currency c = new Currency(123.4567);
> って書かないとだめなんですかね?
>
> Currency c = 123.4567;
>
> ↑こういう風に書けないと、せっかく作ってもちょっとしょんぼり感があるのですが…。
public class Currency {
private double value;
public Currency(double v) { value = v; }
public double Get() { return value; }
// キャストなしにdoubleからCurrencyを召喚する魔法
public static implicit operator Currency(double v)
{ return new Currency(v); } // かーまぼーこー!
}
public class Program {
public static void Main() {
Currency c = 123.456; // Currency召喚!
System.Console.WriteLine(c.Get());
}
}
|