ホームページ > バックエンド開発 > C++ > リフレクションを使用して C# で Null 許容参照型を検出するにはどうすればよいですか?

リフレクションを使用して C# で Null 許容参照型を検出するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-18 10:32:09
オリジナル
345 人が閲覧しました

How Can I Detect Nullable Reference Types in C# Using Reflection?

.NET リフレクションを使用して null 許容参照型を検出する

C# 8.0 では、null 許容参照型が導入され、null 許容値を処理するより明示的な方法が提供され、コードの可読性が向上し、開発者が潜在的な null 参照を認識できるようになります。

Null 許容プロパティを含む次のクラスを考えてみましょう:

<code class="language-c#">public class Foo
{
    public string? Bar { get; set; }
}</code>
ログイン後にコピー

クラス属性がリフレクションを通じて null 許容参照型を使用しているかどうかを確認したい場合は、次のメソッドを使用できます。

NullabilityInfoContext API

.NET 6 以降では、NullabilityInfoContext API を使用して、Null 許容参照型をチェックする便利な方法が提供されます。詳細については、関連ドキュメントを参照してください。

プロパティを手動で確認します

.NET 6 より前では、Null 可能性を判断するにはプロパティを手動で検査する必要がありました。次のコードは、このアプローチを示しています:

<code class="language-c#">public static bool IsNullable(PropertyInfo property) =>
    IsNullableHelper(property.PropertyType, property.DeclaringType, property.CustomAttributes);</code>
ログイン後にコピー

IsNullableHelper メソッドは、プロパティの型、宣言された型、およびカスタム プロパティを反復処理して、[NullableAttribute] または [NullableContextAttribute] プロパティを識別します。

これらのプロパティのいずれかが存在し、値が 2 である場合、そのプロパティは null 可能とみなされます。それ以外の場合は、NULL 値を許容できません。

要約すると、.NET リフレクションを使用して null 許容参照型をチェックするには、カスタム プロパティをチェックし、さまざまなバージョンの .NET で対応する API を使用する必要があります。

以上がリフレクションを使用して C# で Null 許容参照型を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート