在泛型中动态定义 DataContract 和 DataMember 类
Defining DataContract and DataMember dynamically in Generic Classes
我想在 C# 中创建一个泛型 class 并通过动态定义它的 [DataContract]
和 [DataMember]
属性来控制它的序列化方式构造函数。
有办法吗?我们可以在通用 class 构造函数中使用反射在运行时定义这些属性吗?
不,这是不可能的。属性在编译时静态声明,不能在 运行 时引入。它们是程序集元数据的一部分。
旁注:在纯自定义场景中,您可以控制属性的消费者,可以创建自定义属性存储库而不是直接使用反射。然而,DataContractSerializer
.
却不是这样
我想在 C# 中创建一个泛型 class 并通过动态定义它的 [DataContract]
和 [DataMember]
属性来控制它的序列化方式构造函数。
有办法吗?我们可以在通用 class 构造函数中使用反射在运行时定义这些属性吗?
不,这是不可能的。属性在编译时静态声明,不能在 运行 时引入。它们是程序集元数据的一部分。
旁注:在纯自定义场景中,您可以控制属性的消费者,可以创建自定义属性存储库而不是直接使用反射。然而,DataContractSerializer
.