where T:new()

原创 2011年01月21日 14:19:00

new()构造函数约束允许开发人员实例化一个泛型类型的对象。

 
一般情况下,无法创建一个泛型类型参数的实例。然而,new()约束改变了这种情况,要求类型参数必须提供一个无参数的构造函数。 
在使用new()约束时,可以通过调用该无参构造函数来创建对象。 


基本形式: where T : new() 

 

如下:

 

public class A<T> where :type,new()

{

       public void Test()

      {

            T t=new T();

       }

}

 

main中如下:

Test t=new Test();

 

 

Test类

public class Test

{

        public Test(int a)

        {

 

        }

}

 

此时不能编译通过。

解决方案:在Test类中加入无参构造函数即可。

 

以前我们在类中实例化泛型类时,一般要用T.CreateInstance(...);现在方便了许多,不得不说,new()很给力。

相关文章推荐

class A<T>where T:new()是什么意思

where表明了对类型变量T的约束关系。where T: A表示类型变量是继承于A的,或者是A本身。where T:new()指明了创建T的实例时应该使用的构造函数。...

C#中的where泛型约束中的new()

原文:http://www.luacloud.com/2011/where-generic-constraint-new.html 1.在MSDN上面对new()解释说到是where字句的构...
  • Joyhen
  • Joyhen
  • 2013年12月10日 15:06
  • 4070

Must qualify the allocation with an enclosing instance of type AAA (e.g. x.new A() where x

今天在写一个程序的时候在一个类中写了内部类。在main()中进行了实现, 但是在编译的时候进行了报错。自己也不知道错在哪里就出现了这样的英文。 Exception in thread “main”...

where T : Class 使用 项目中的部分代码

时间有限,先上代码,等有时间再来完善  1、  AbstractDAO:DAO where T : BaseEntity  2、  IAcountDAO : AbstractDAO     ...
  • ybhjx
  • ybhjx
  • 2016年03月26日 22:14
  • 334

泛型约束 | where T : class的含义

public static List ConvertIListtolist (IList gblist) where T : class 这是参数类型约束,指定T必须是Class类型。...

从join on和where执行顺序认识T-SQL查询处理执行顺序

SQL语句中join连表时on和where后都可以跟条件,那么对查询结果集,执行顺序,效率是如何呢? 通过查询资料发现: 区别: on是对中间结果进行筛选,where是对最终结果筛选。 执行顺...

探究 List<T> 集合的Where方法是如何实现的

今天一个实习学生问我,List集合里面的Where方法如何使用。我当时就把鼠标放在方法上,VS的智能提示告诉我,需要传入一个Fun的委托,当时我就说,这里需要传入一个委托,其实就是一个T类型参数,返回...

Parse error: syntax error, unexpected 'new' (T_NEW) in D:\phpStudy\WWW\test.com\phpExcelReader\Exce

在使用phpExcelReader的时候报错如下: 环境如下:windows 10 64位; phpstudy 集成环境; php 7.0 nts-32; mysql 5.7.19; apache ...

Codeforces 620E New Year Tree dfs + 线段树(区间查询+区间置数) + 位运算

题意 给你一棵树n(4e5)个节点,每个节点有一种颜色(60种以下的颜色) 有两种操作,修改一棵子树所有节点的颜色为c 查询,一颗子树下有多少种颜色 思路 先考虑,如果是在一个数组里,每次修改一个区间...

Codeforces Good Bye 2016 C.New Year and Rating//qduoj 三亿河老师的上分梦想

C. New Year and Rating time limit per test 2 seconds memory limit per test 256 megabytes input...
  • jerans
  • jerans
  • 2016年12月31日 14:36
  • 273
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:where T:new()
举报原因:
原因补充:

(最多只允许输入30个字)