我正在尝试将 HTML(特别是 href)嵌入到 DescriptionAttribute 中,以将自动生成的 WCF 帮助文档中的链接添加到描述所涉及数据结构的更详细的 SandCastle 生成页面。类似于以下内容:
[Description(
"Creates jobs. A detailed description of the Jobs data structure can " +
"be found <a href=\"http://www.example.com/api/docs/jobs\">here.</a>")]
[WebInvoke(UriTemplate = "Jobs", Method = "POST")]
public Jobs CreateJobs(Jobs jobs)
{
...
}
这会在生成的文档中生成以下 HTML,并将我的嵌入 HTML 编码为字符实体:
<td>Creates jobs. A detailed description of the Jobs data structure can be found <a href="http://www.example.com/api/docs/jobs\">here.</a></td>
完全像这样呈现:
创造就业机会。可以在<a href="http://www.example.com/api/docs/jobs\">这里找到 Jobs 数据结构的详细说明。</a>
但我希望它像这样呈现:
创造就业机会。Jobs 数据结构的详细描述可以在这里找到。
我想知道是否可以覆盖 Description 属性以删除字符实体,所以我尝试了这个:
class HtmlDescriptionAttribute : System.ComponentModel.DescriptionAttribute
{
public override string Description
{
get
{
string description = base.Description;
//
// Remove encoding from description here
//
return description;
}
}
public HtmlDescriptionAttribute() : base() { }
public HtmlDescriptionAttribute(string description) : base(description) { }
}
但是在被覆盖的属性中设置一个断点,我发现在这个阶段它还没有被编码。因此,调用此属性的任何内容都可能是添加编码。
有谁知道是否/如何做到这一点?
谢谢!