C#8.0では、null許容の参照型が導入されています。次に、null許容プロパティを持つ単純なクラスを示します。
public class Foo
{
public String? Bar { get; set; }
}
クラスのプロパティがリフレクションを介してnull可能な参照型を使用しているかどうかを確認する方法はありますか?
はい、しかしそれは簡単ではありません。幸いにも、それは 文書化されています。
—
Jeroen Mostert、
ああ、分かった; そのため
—
Marc Gravell
string? X
、属性を取得せず、アクセサをstring Y
取得[Nullable((byte)2)]
し[NullableContext(2)]
ます
タイプがいる場合だけ nullables(または非nullables)が含まれ、それがすべてで表すのです
—
canton7
NullableContext
。ミックスがある場合Nullable
は、同様に使用されます。あらゆる場所でNullableContext
放出する必要がないようにするための最適化Nullable
です。
[NullableContext(2), Nullable((byte) 0)]
れているように見えます。そのため、それを確認する必要がありますが、それを解釈する方法のルールを理解するためにさらに掘り下げる必要があります。Foo