我有一个对象,其参数是一个整数列表。为了使该对象与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(字符串)。
如何自定义或覆盖HelpPage生成器以为其提供合理的值?