我想知道是否有一种方法可以传入强制为某种基本类型的类型。例如,对于我的游戏引擎,我有一个属性列表(可控、刚体等)。我有一个 addAttribute 参数,它接受一个新对象。但是,我还想有一个重载,它采用一个类型,而不是我可以自己创建一个新对象的类型。所以例如
public void addAttribut(Type attribute)
我在想也许可以实现 linq 的东西?我已经尝试过,但看起来“where”只能用于泛型:
public void addAttribute(Type attribute) where attribute : Attribute
将是函数的签名。我相信 Unity 可以做到这一点;但是它可能是它可以通过 Mono 做到这一点。
如果它不是正确的基本类型,我总是可以抛出异常。但是我想知道是否有一种方法可以防止程序员一起传递错误的时间。
有任何想法吗?任何帮助是极大的赞赏!