C#8.0引入了可为空的引用类型。这是一个具有可空属性的简单类:
public class Foo
{
public String? Bar { get; set; }
}
有没有一种方法可以通过反射检查类属性是否使用可为空的引用类型?
是的,但这并不简单。幸运的是,它已被 记录在案。
—
Jeroen Mostert
啊,我明白了;因此
—
马克·Gravell
string? X
变得没有属性,并string Y
获得[Nullable((byte)2)]
与[NullableContext(2)]
在存取
如果类型仅包含可空值(或非可空值),则全部由表示
—
canton7
NullableContext
。如果有混合,也要Nullable
使用。NullableContext
是一种优化的尝试,可以避免不得不Nullable
到处发射。
[NullableContext(2), Nullable((byte) 0)]
到了类型(Foo
)中-这就是要检查的内容,但是我需要进一步挖掘才能理解如何解释该规则!