c# - 使用 Generics C# 3.5 时出现编译错误

标签 c# .net generics

以下代码编译失败:

class MyClass<T> :  where T : MyClass <T>{}

有什么办法可以解决吗? 我使用了以下解决方法,但我想知道是否有更好的方法

class MyClass <T> : IMyClass where T : IMyClass {}
interface IMyClass {}

最佳答案

只有当你想从基类派生类或实现接口(interface)时,才需要在类名后加上冒号:

class MyClass<T> where T : MyClass<T>
//              ↑
//              no ':' here

关于c# - 使用 Generics C# 3.5 时出现编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2967133/

相关文章:

c# - 获取 'DateTime.ToString()' 以输出与 'DateTime' 的 XML 序列化相同的字符串

java - 这段代码有什么问题吗?它没有过滤集合!

java - 如何将调用静态导入的泛型方法的结果传递给另一个方法?

c# - 上传 Excel 工作表并将数据导入 SQL Server Express 数据库

c# - ResetBindings() 不更新 BindingSource

.net - .Net中的键值对数据库

c# - 使用 ServiceController 类与 Windows 服务通信

java - 如何将类名传递给抽象父类(super class)构造函数?

c# - 如何使用 DataTemplate + 触发器在 View 之间切换

c# - 更新面板问题