c# - T 类型的泛型,其中 T 具有特定属性

标签 c# generics attributes serializable

是否可以创建类型为 T 的通用方法,其中 T 具有特定属性?

例如:

public static XmlDocument SerializeObjectToXml<T>(T obj)
{
    //...
}

并且我只想序列化具有 Serializable 和/或 DataContract 属性的类:

[Serializable]
[DataContract(Name = "viewModel", Namespace = "ns")]
internal class ViewModel
{
    //...
}

最佳答案

恐怕不行。有 3 种类型的约束:派生、构造函数和引用/值类型。

我相信,您应该检查方法主体中的属性,如果可序列化对象不符合标准,则调用不同的方法来处理它。

关于c# - T 类型的泛型,其中 T 具有特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11324722/

相关文章:

c# - 使用 Open XML SDK 2.0 或 Linq 在 Word 2010 中删除自定义属性的内容

c# - 无论如何,这个 LINQ 最终会做太多工作吗?

asp.net-mvc - 如果 Hangfire 已在运行,则停止启动重复作业

python - netCDF Python : How to get the data type of an attribute of a variable?

PHP读取对象属性

c# - 用C#读取图像宽度和高度错误

c# - handle 有什么用?指针

swift - 泛型的泛型? A<T<U>> 类?

java - 泛型将子类添加到数组

java - Gson非法类型变量引用