问题描述
发现了一些奇怪的东西。我正在解析包含编码 HTML 的 Xml,所以我决定让读/写属性保存未编码的 HTML,然后是 XmlSerializer 可以使用的只写属性。但是,如果我不定义 getter,序列化程序会完全忽略它,即使我确实包含了 getter,它也不会被调用。
这是我的代码...
[XmlElement("descHtmlEnc")]
public string EncodedDescriptionHTML {
get => throw new NotSupportedException(); // <- This never gets called,but it won't work without it
set{
var myWriter = new StringWriter();
HttpUtility.HtmlDecode(value,myWriter);
DescriptionHtml = myWriter.ToString();
}
}
public string? DescriptionHtml { get; set; }
上述工作,所以它本身不是一个拦截器,但我试图弄清楚为什么一个反序列化器甚至关心一个公共 getter 考虑到它从不使用它。那和我的强迫症很刺痛,因为我的 API 现在不干净。
那么...有没有什么方法可以装饰属性告诉反序列化器可以使用只写属性?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)