在泛型中动态定义 DataContract 和 DataMember 类

Defining DataContract and DataMember dynamically in Generic Classes

我想在 C# 中创建一个泛型 class 并通过动态定义它的 [DataContract][DataMember] 属性来控制它的序列化方式构造函数。

有办法吗?我们可以在通用 class 构造函数中使用反射在运行时定义这些属性吗?

不,这是不可能的。属性在编译时静态声明,不能在 运行 时引入。它们是程序集元数据的一部分。

旁注:在纯自定义场景中,您可以控制属性的消费者,可以创建自定义属性存储库而不是直接使用反射。然而,DataContractSerializer.

却不是这样