字段不能在 C# 中通用吗?
Can't fields be generic in C#?
我正在阅读 Jon Skeet 的《C# 深入》一书,有一部分让我感到困惑:
Methods and nested types can be generic, but all of the following have
to be nongeneric:
- Fields
- Properties
- Indexers
- Constructors
- Events
- Finalizers
我测试了一下,fields(class中的一个变量)可以泛型,我是不是没看懂?这让我怀疑其他人。
类 和方法可以引入新的泛型类型参数,该列表中的其他方法可以基于该类型参数定义,但不能引入新的。
这一切都很好;
class ClassName<T>{
private T FieldName;
private T PropertyName { get; set; }
private R GenericMethod<R>(T t, R r) { ... }
}
但不是;
class ClassName{
private T FieldName<T>;
}
我正在阅读 Jon Skeet 的《C# 深入》一书,有一部分让我感到困惑:
Methods and nested types can be generic, but all of the following have to be nongeneric:
- Fields
- Properties
- Indexers
- Constructors
- Events
- Finalizers
我测试了一下,fields(class中的一个变量)可以泛型,我是不是没看懂?这让我怀疑其他人。
类 和方法可以引入新的泛型类型参数,该列表中的其他方法可以基于该类型参数定义,但不能引入新的。
这一切都很好;
class ClassName<T>{
private T FieldName;
private T PropertyName { get; set; }
private R GenericMethod<R>(T t, R r) { ... }
}
但不是;
class ClassName{
private T FieldName<T>;
}