【发布时间】:2010-07-29 15:53:52
【问题描述】:
有没有办法创建一个使用new() 构造函数约束的通用方法来要求具有特定类型构造函数的类?
例如:
我有以下代码:
public T MyGenericMethod<T>(MyClass c) where T : class
{
if (typeof(T).GetConstructor(new Type[] { typeof(MyClass) }) == null)
{
throw new ArgumentException("Invalid class supplied");
}
// ...
}
是否可以换成这样的东西?
public T MyGenericMethod<T>(MyClass c) where T : new(MyClass)
{
// ...
}
编辑:有a suggestion 与此有关。请投票,以便我们可以在 C# 中使用此功能!
【问题讨论】:
-
我有点困惑。你到底想完成什么。构造函数会接受 MyClass 的参数,还是将 T 限制为 MyClass?
标签: c# .net generics type-constraints