我之前问过一个关于接口的问题,得到了一些很好的回答。我很高兴开始开发真正灵活的代码。
我现在有一个关于覆盖虚拟方法的问题。
我目前正在使用社区服务器 SDK。其中一个控件是“标记”面包屑。因此它将列出相关对象上的“标签”。
<CSBlog:TagBreadCrumb />
我正在使用标签来允许管理员定位特定位置以使内容出现在布局中,但是这些标签与最终用户无关。例如,“Home_Main”标签用于定位主页上的主面板,但我不希望用户看到它。
由于我有社区服务器的 SDK,我找到了呈现“标签列表”的控件,并对其进行了修改以实现我想要的 - 但是我的理解是,出于多种原因修改核心并不好。
所以我想做的是创建我自己的控件,它基本上与基本控件几乎 100% 相同,但覆盖了一种方法。
这是方法:
public virtual string FormatTags(string[] tagList)
里面有格式化标签的代码,我想编写自己的代码来做所有相同的事情,除了检查配置文件中的“标签”以排除。
所以我的理解是我创建了我的控件,从基本控件派生 - 我可以编写自己的 FormatTags() 方法 - 对吗?
我只需要改变它的一个方面,但这是否意味着我必须从基类复制该方法的原始代码 - 并在那里改变我需要的东西?它只是从一个地方感觉不正确的copyign代码,但我不知道在不更改基类中的代码的情况下扩展该方法的另一种方法。
感谢您的任何建议。