未知 [信息技术] 提供一个有意义的ToString函数     阅读:6193  

提供一个有意义的ToString函数
作者: 不详 编辑: 海韵 发布日期: 2006-11-16 00:00:00 点击量: 6193 来源: haiyun.net
在编写自定义类型的时候,即使我们不写ToString函数,系统也会自动提供ToString函数,例如:
   public class clsUserInfo
    {
        private string strUserName;
        ……
    }
 
不过系统所提供ToString函数,并不做太多的事情,无法真实的反映当前对象的一些属性,就如上这段代码,调用ToString返回的结果和GetType后转换成String是一样的。那么这样的返回值对于调用者来说没有太多的意义。
 
为了能提供一个有意义的ToString函数,则需要重载ToString函数来实现一个面向此对象的ToString函数。举例说明,对于上面clsUserInfo这个类型,如下这种写法会使ToString函数更有意义。
    public class clsUserInfo
    {
        private string strUserName;
        ……
        public override string ToString()
        {
            return string.Format( "User name:{0}", strUserName );
        }
    }
 
提供一个有意义的ToString函数,对于进行调试或者发布此类都是很有用,因为这种做法是最简便的方法,相对于访问类的成员属性然后再组合字符串。不过大家写代码的时候,包括我在内,往往忽略了去提供一个有意义的ToString函数,这点看来要在今后的编码中进行改善。
 
除了重载系统提供的ToString函数外,在C#中还可以继承IFormattable接口,来提供更复杂的ToString函数,至于这方面,我不想多说,因为继承了接口,提供的ToString函数会有很多变化,这也许只有到真正的应用当中才能更深刻的体会到。

[ 海韵 于 2006-11-16 00:00:00  Thursday   ]  
相关文章:

网友评论
正在加载评论...


免责申明 | 版权申明 | 联系我们 | 关于
Copyright © 2001-2024 Haiyun.Net All Rights Reserved
地址:深圳市南山区南油天安工业区1栋3楼 邮编:518000
有我可以帮您的吗?QQ:12457275  
粤ICP备05017321号-1