C#中接口中定义泛型成员时的,类型参数的可空性
直接上结论:
1.在定义泛型类型或者泛型成员时,如果使用了T?,那么T需要指定为非空的值类型。
直接进入正题:
前提:开启”#nullable enable“特性后。
定义一个接口,其中包含一个泛型成员。
注意:此接口中的类型参数T默认是可以为nullable类型的。
interface IInterface { T GetT<T>(); }
实现类
1.隐式实现接口中的成员
class ImpInterface : IInterface { public T GetT<T>() { return default;//warning:可能返回null的引用。 } }

浙公网安备 33010602011771号