我有一个对象,它的参数是整数列表。为了让这个对象与 Entity Framework 表现得很好并保存在 SQL 中,我有一个计算属性来序列化该字符串。
private IList<int> _ObjParameters;
public virtual IList<int> ObjParameters
{
get
{
return _ObjParameters;
}
set
{
_ObjParameters = value;
}
}
public string ObjParametersSerialized
{
get
{
return String.Join(";", _ObjParameters);
}
set
{
_ObjParameters = value.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).Select(Int32.Parse).ToList();
}
}
这工作得非常好,并且正是我想要它做的事情,因为数据库存储了序列化版本,我可以使用代码中的整数列表。序列化的字符串将只包含整数,所以没有问题..
..API 文档生成器除外。我正在使用 Microsoft.AspNet.WebApi.HelpPage 从代码文档中自动生成帮助页面内容。不知何故,出于某种原因,这是试图插入“示例字符串 3”作为 ObjParametersSerialized 的值 - 这显然不起作用并引发错误。
它作为一个值也没有任何意义,但我理解它为什么这样做,因为它只是看到一个 typeOf(string)。
如何自定义或覆盖 HelpPage 生成器以提供合理的值?