字段在C#中不能通用吗?

问题描述

我正在读乔恩·斯凯特(Jon Skeet)的一本书《深度C#》,其中有一部分使我感到困惑:

方法和嵌套类型可以是通用的,但以下所有内容都具有 是非通用的:

我测试过,并且字段(类中的变量)可以是通用的,我不理解吗?这让我怀疑其他人。

解决方法

类和方法可以引入新的泛型类型参数,该列表中的其他参数可以基于该类型参数进行定义,但不能引入新的泛型类型参数。

这很好;

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>;
}