之前我已经看到了一些形式,但是我不记得它被称之为什么了,因此对于如何实现这样的事情并没有任何线索:
SomeMoneyFormat f = "€ 5,00";
解决方法
当你没有指定它应该被转换它是一个隐式转换
public static implicit operator SomeMoneyFormat(string d) { return new SomeMoneyFormat(d); }
然后€5,00作为字符串d传递
更多关于这里:
http://msdn.microsoft.com/en-us/library/z5z9kes2(VS.71).aspx
此外,我可以补充说,只有当没有丢失数据的风险时,才应该这样做.例如将double转换为int将会失去一些精度,因此它是一个显式转换.否则很容易造成意外丢失数据.