- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在编译失败之后:
public class Gen<T> where T : System.Array
{
}
错误
A constraint cannot be special class `System.Array'
我开始疑惑, 到底什么是“特殊类(class)”?
当人们在通用约束中指定 System.Enum
时,他们似乎经常遇到相同类型的错误。我用 System.Object
、System.Delegate
、System.MulticastDelegate
和 System.ValueType
也得到了相同的结果.
还有更多吗?我在 C# 中找不到关于“特殊类”的任何信息。
另外,那些类有什么特别之处以至于我们不能将它们用作泛型类型约束?
最佳答案
从 Roslyn 源代码来看,它看起来像是 isValidConstraintType
中的硬编码类型列表:
switch (type.SpecialType)
{
case SpecialType.System_Object:
case SpecialType.System_ValueType:
case SpecialType.System_Enum:
case SpecialType.System_Delegate:
case SpecialType.System_MulticastDelegate:
case SpecialType.System_Array:
// "Constraint cannot be special class '{0}'"
Error(diagnostics, ErrorCode.ERR_SpecialTypeAsBound, syntax, type);
return false;
}
关于c# - "Special Class"到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29961823/
这对你们来说可能很简单,但由于我是java新手,所以我想知道实际上什么是 接下来的部分会发生什么? if (args.length > 0) { file = args[0]; } publi
在我的 View Controller 中,我将 UITapGestureRecognizer 添加到 self.view。我在 self.view 之上添加了一个小 View 。当我点击小 View
我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我试图在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。 View Controller 没有初始化器 req
我正在尝试使用 VIM 完成(字典和当前缓冲区),但我遇到了问题?和 !在方法名称的末尾。我能以某种方式向 vim 解释方法名称(基本上是单词)最后只能有它,而且只有一个,即 method_name
我是一名优秀的程序员,十分优秀!