日期:2014-05-17  浏览次数:20965 次

C#的Convert.ToXXX()函数可以作用于自定义的类型吗?
除了C#内置的数据类型可以通过Convert.ToXXX()来转型以外,我们自己定义的class/struct的实例可以用于Convert.ToXXXX这样的调用吗? 是否需要实现什么接口?

谢谢

------解决方案--------------------
Convert是个静态类 里面有很多静态方法  想个性化一点可以定义一些扩展方法  不知道你是这意思吗
------解决方案--------------------
自定义的class或struct应该是没法用convert转的。具体你可以试试。如果你想实现想要的效果,自己定义个方法不得了。
------解决方案--------------------
as满足不了你的需求?
------解决方案--------------------
自定义可以通过实现System.IConvertible接口支持Convert类的转换, 但只能将自定义类型转换为内置的bool, int等类型

用法:
class MyValue : System.IConvertible
{
...
}

var val = new MyValue();
var ival = Convert.ToInt32(val);