3

object.ToString ()方法用于将任何对象转换为可读文本字符串。但如果对象为 null,它会抛出一个NullReferenceError. 所以我想ToString()用一个扩展方法覆盖这个方法,比如:

public static class StringExt
{
    public string ToString(this object str)
    {           
        if (str == null)
            return System.Convert.ToString(str);

        return str.ToString();
    }
}

但似乎这永远不会覆盖ToString()类的Object

Myclass cls;
//doing something on the other hand. 

cls.ToString();

这里cls.ToString()总是使用Object.ToString()方法。有没有办法做到这一点?

4

1 回答 1

18

扩展方法故意不能取代实例方法。

您需要使用不同的名称。

于 2013-06-27T14:26:05.627 回答