Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有受限类型参数的泛型类_C#_Generics_Types - Fatal编程技术网

C# 具有受限类型参数的泛型类

C# 具有受限类型参数的泛型类,c#,generics,types,C#,Generics,Types,我想创建一个泛型类,它接受一个类型参数,并将该参数限制为数值类型,或者更一般地限制为可以应用增量运算符++的任何类型 我知道我可以执行以下操作来限制结构,但显然有些结构不是数值类型,并且不支持++运算符。我能用C来做这个吗# 类示例,其中T:struct { //实施细节 } 很遗憾,这是不可能的(请参阅)。您只能将类型约束为: 实现特定接口或从特定类派生 成为类或结构 有一个无参数构造函数 将类型限制为具有特定运算符是一项非常需要的功能,但我相信在C#4中也不会有。这是一项经常需要的功能。

我想创建一个泛型类,它接受一个类型参数,并将该参数限制为数值类型,或者更一般地限制为可以应用增量运算符++的任何类型

我知道我可以执行以下操作来限制结构,但显然有些结构不是数值类型,并且不支持++运算符。我能用C来做这个吗#

类示例,其中T:struct
{
//实施细节
}

很遗憾,这是不可能的(请参阅)。您只能将类型约束为:

  • 实现特定接口或从特定类派生
  • 成为
    结构
  • 有一个无参数构造函数

将类型限制为具有特定运算符是一项非常需要的功能,但我相信在C#4中也不会有。

这是一项经常需要的功能。实现它需要对语言和运行时进行更改。这是一个假设的未来版本的可能性,但不可能是我们的最高优先级
class Example<T> where T : struct
{
  //Implementation detail
}