gpt4 book ai didi

c# - 在 .Net/C# 中是为 XmlSerializer.Serialize 触发的 OnSerializing 事件

转载 作者:太空狗 更新时间:2023-10-29 23:04:52 28 4
gpt4 key购买 nike

我想在对象被序列化之前设置一些属性,但由于它可以从多个位置序列化,有没有办法使用 OnSerializing 方法(或类似方法)进行 Xml 序列化 - 我的类很像这 - 但 On... 方法未被调用...:

[Serializable]
[XmlRoot(ElementName = "ResponseDetails", IsNullable = false)]
public class ResponseDetails
{
public ResponseDetails() {}


[OnSerializing]
internal void OnSerializingMethod(StreamingContext context)
{
logger.Info("Serializing response");
}

[OnSerialized]
internal void OnSerializedMethod(StreamingContext context)
{
logger.Info("Serialized response");
}

[OnDeserialized]
internal void OnDeserializedMethod(StreamingContext context)
{
logger.Info("Deserialized response");
}

[OnDeserializing]
internal void OnDeserializingMethod(StreamingContext context)
{
logger.Info("Deserializing response");
}

最佳答案

不,XmlSerializer 不支持这个。如果您使用的是 .NET 3.0 或更高版本,请查看 DataContractSerializer

关于c# - 在 .Net/C# 中是为 XmlSerializer.Serialize 触发的 OnSerializing 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/200386/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com