在这种情况下,new()是什么意思

本文关键字:是什么 意思 new 这种情况下 | 更新日期: 2023-09-27 17:59:06

可能重复:
C#:new()是什么意思?

我看一下Enum.TryParse:的定义

public static bool TryParse<TEnum>(string value, out TEnum result) where TEnum : struct, new();

想知道CCD_ 1在这里意味着什么。

在这种情况下,new()是什么意思

这是一个泛型类型参数约束,意味着TEnum的类型必须有一个公共的无参数构造函数。

请参阅此处:

http://msdn.microsoft.com/en-us/library/d5x73970.aspx

它是泛型参数的约束。这意味着TEnum必须有一个无参数的公共构造函数(并允许您执行new TEnum())。有关更多详细信息和其他类型的约束,请查看MSDN页面。

这是一个泛型类型约束,要求泛型类型参数TEnum必须支持默认构造函数(可以在没有参数的情况下新建)。

这意味着类型TEnum必须能够使用

var x=新的TEnum();

它基本上说,你只能在具有公共无参数构造函数的类型上使用它,即:你可以做的地方:

var something = new TEnum();

这允许您强制要求您可以在内部创建类型。

有关详细信息,请参阅C#新约束。

new()作为泛型类型限制意味着用作泛型参数的类型必须具有具有给定参数的构造函数;这里,它必须有一个无参数的默认构造函数。