c# - 如何向现有类添加 [OnDeserialized] 功能?

标签 c# serialization

[OnDeserialized]
public static void OnDeserialized(this List<Bbb> self, StreamingContext context) {
    //special handling
}

这个扩展方法显然不起作用,但我想为 List 提供一个 [OnDeserialized] 实现,而不必被迫创建一个只有构造函数的子类。

这可以用其他方式完成吗?有没有我可以 Hook 的事件系统?

最佳答案

属性是静态元数据。因此,它们在编译时应用于类的 Type

Extension Methods 根据定义不是 Type 的一部分,您不能动态应用属性。

由于 List 是封闭类型,因此无法实现。

关于c# - 如何向现有类添加 [OnDeserialized] 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23948949/

相关文章:

c# - 如何在 C# 上反序列化一个 XML 行?

c# - 在 c#/.NET 中调试文件句柄问题

c# - 在 anchor 标记内使用 Selenium 选择图像按钮

c# - LINQ .Include() 来自 TPH 继承中子类型的属性

c# - Azure 服务总线消息在运行时在订阅中反序列化为未知类型

c# - Auto Property - Resharper 错误或酷的未知 C# 功能?

java - 在java中反序列化一个单例

c# - 反序列化时 C# 类中的字段初始值设定项不运行

python - 如何序列化作为 XML Exporter 中的项目列表的 Scrapy 字段

c++ - 使用 Boost 发送序列化结构但出现输入流错误