[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/