繁体   English   中英

泛型函数和新约束

[英]Generic function and new constraint

当一个从IProject继承而另一个具有new()约束时,如何使用两个参数? 以下内容未通过“错误,因为它没有new()约束,无法创建变量类型'T'的实例”而无法通过编译

public static T CreateNewProject<T, V>(string token, string projectName) where V : IProject<T>, T new()
{
    T project = new T(); 
}

如果要将约束应用于多个参数,则需要添加第二个where

where V : IProject<T> 
where T : new()

而且,您需要从方法中返回一些信息:

public static T CreateNewProject<T, V>(string token, string projectName) 
    where V : IProject<T> 
    where T : new()
{
    return new T();
}

PS:为应用new约束,类型参数必须具有公共的无参数构造函数。

阅读以获得更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM