在 C++/CLI 中

发布于 2024-08-10 12:24:13 字数 311 浏览 2 评论 0原文

当我尝试序列化包含此属性的类时:

[NonSerialized]
property System::Collections::ObjectModel::ReadOnlyCollection<String^>^ IgnoredWords

我收到编译错误:

致命错误 C1093:API 调用 “定义自定义属性”失败 '0x801311c0'

如何告诉序列化器我不想序列化此属性(是的,默认情况下它会尝试序列化,这会导致运行时错误)?

When I'm trying serialize a class containing this property:

[NonSerialized]
property System::Collections::ObjectModel::ReadOnlyCollection<String^>^ IgnoredWords

I get a compilation error saying:

fatal error C1093: API call
'DefineCustomAttribute' failed
'0x801311c0'

How do I tell the serializer that I do not want to serialize this property (and, yes, by default it tries to, which causes a run time error)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

韶华倾负 2024-08-17 12:24:13

(从 xml-serialization 标记推断)您需要 [XmlIgnore] 作为 XmlSerializer

[NonSerialized] 适用于 BinaryFormatter 等,并且仅适用于字段,而不适用于属性(这可能就是您遇到 DefineCustomAttribute 失败的原因)。

(inferring from xml-serialization tag) You want [XmlIgnore] for XmlSerializer.

[NonSerialized] is for BinaryFormatter etc, and only applies to fields, not properties (which is probably why you are getting DefineCustomAttribute failures).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文