-5

我正在处理一个带有抽象基类、3 个子类的作业,其中一个也是具有 2 个孙子类的抽象类。

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

如果我使用该ToString()方法,我将不得不使用孩子的附加参数(签名)再次对所有格式进行编码。

是的,我知道抽象类使用 virtual 如下:

public virtual string ToString() {}

public virtual string GetDisplayText() {} 

谢谢你的帮助!

4

1 回答 1

3

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

于 2013-03-24T19:09:09.077 回答