尝试在已编译的SDK中覆盖静态方法的格式化实现

时间:2009-03-22 12:55:12

标签: c# inheritance

我正在使用社区服务器框架。

其中一个提供的表单控件允许用户更新他/她的“状态”。例如:'乔:要去喝咖啡:上午12:30'。

我希望在邮件进入数据库之前更改该邮件的格式(以格式化HTML格式)。我想在名称和消息之间取出“:”字符 - 或者也许做其他格式化。

通过'UpdateStatusMessageForm'实例化'ActivityMessage'类型以及用户输入的状态消息完成格式化。 'ActivityMessage'调用它的格式化方法如下所示:

public static string GetFormat(IActivityMessage message, string timeCssClass)
{
        return string.Format("<a href=\"{0}\">{1}</a>: {2} <span class='{3}'>{4}</span>", SiteUrls.Instance().UserProfile(message.Author.Username), message.Author.DisplayName, message.Body, timeCssClass, Formatter.FormatTime(message.DateCreated));

}

如果我无法覆盖它,如何更改该方法的实现?有什么建议?谢谢!

1 个答案:

答案 0 :(得分:2)

简短的回答是你无法覆盖静态方法。

长期答案和一些解决方法在this article