ToString和GetDisplayText之间的区别方法C#

时间:2013-03-24 19:02:10

标签: c# oop abstract-class multiple-inheritance

我正在使用抽象基类,3个子类进行赋值,其中一个子类也是抽象的,有2个孙子类。

我认为GetDisplayText()方法复制了父类的内容,然后我只需要添加子类的附加参数(签名)。

如果我使用ToString()方法,我将不得不使用孩子的其他参数(签名)再次编码所有格式。

是的,我确实理解抽象类使用虚拟,如:

public virtual string ToString() {}

public virtual string GetDisplayText() {} 

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

在不直接表示值的类型中(如GUI元素,这是MSDN告诉我的GetDisplayText()方法),使用ToString()提供表示的更为常见对象适合调试,不显示用途。 (即对象的重要属性的文本转储。)所以我(疯狂地)猜测他们将GetDisplayText()添加到应该具有明文UI表示的组件(例如,下拉列表中的项目)以便让您区分“我在UI中呈现什么?”的问题。和“这个对象的内部状态是什么?”