Mik*_*sen 6 c# generics nullable-reference-types
注意: 我使用的是 C# 8 的可空引用类型。默认情况下,引用类型不可为空。
假设我有以下方法:
public void TestMethod<T>(T[] items)
{
}
Run Code Online (Sandbox Code Playgroud)
在不使用任何通用约束的情况下,如何使用 Nullable 属性指定数组本身不会为空,但数组中的单个项目可能为空?
我的目标如下:
var len = items.Length;items[0].ToString()items[0]?.ToString()这段代码似乎表明数组本身可以为空,但是,如果数组本身不为空,那么每个数组项也不为空:
public void TestMethod<T>([MaybeNull]T[] items)
{
}
Run Code Online (Sandbox Code Playgroud)
我知道使用泛型约束可以解决这个问题——因为我可以使用T?[] items——但是,我必须创建两个版本的类——一个用于值类型,一个用于引用类型。有没有办法在不使用通用约束的情况下表明这一点?
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |