gpt4 book ai didi

c# - 如何将泛型方法限制为具有指定属性的类?

转载 作者:行者123 更新时间:2023-11-30 14:41:40 25 4
gpt4 key购买 nike

我想创建一个仅适用于具有 Serializable 属性的类的通用方法,例如

public static int Foo<T>(T obj) where T : Serializable {
...
}

但显然上面的代码无法编译。我猜如果我将 SerializableAttribute 放在那里,它会坚持认为 T 是一个属性,而不是具有该属性的类。

你是怎么做到这样的事情的?

最佳答案

无法对属性进行约束。一种解决方案是使用反射来分析传递给您的方法的对象,看看它是否声明了 Serializable 属性。

关于c# - 如何将泛型方法限制为具有指定属性的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3873133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com