如何解决如何告诉 MessageQueue.SendMessageConnection 如何“XMLize”要发送的对象?
我在 C# 中使用 System.Messaging.MessageQueue.SendMessageConnection
来发送一个包含一些参数的对象,例如:
_sendQueue.Send(myObject,...);
我的 myObject
是一个对象,包含一些属性,比如 Field1
。
我正在检查我的消息是如何发送的,使用:
- 计算机管理
- 服务和应用
- 消息队列
- 私人队列
- 打开右侧队列,在“队列消息”中,右键单击并选中“属性”、“正文”。
在那里我看到如下标签:
<Field1>content_Field1</Field1>
而不是这个,我想看到类似的东西:
<F1>content_Field1</F1>
我的对象中的属性和我想要使用的 XML 标签之间是否有简单的映射?
提前致谢
解决方法
这其实很容易做到。查看Control XML serialization using attributes :
默认情况下,XML 元素名称由类或成员名称决定。在名为 Book 的简单类中,名为 ISBN 的字段将生成一个 XML 元素 tag ,如下例所示。
public class Book
{
public string ISBN;
}
// When an instance of the Book class is serialized,it might
// produce this XML:
// <ISBN>1234567890</ISBN>.
如果您想给元素一个新名称,可以更改此默认行为。以下代码显示了属性如何通过设置 XmlElementAttribute 的 ElementName 属性来启用此功能。
public class TaxRates {
[XmlElement(ElementName = "TaxRate")]
public decimal ReturnTaxRate;
}
- Microsoft 文章截至 2017-03-30,不同作者(我强调)
整篇文章大约需要 6 分钟阅读,我真的推荐它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。