ホームページ >バックエンド開発 >C++ >C#で任意のタイプのデフォルト値をプログラム的に取得するにはどうすればよいですか?

C#で任意のタイプのデフォルト値をプログラム的に取得するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-26 10:01:11255ブラウズ

How Can I Programmatically Get the Default Value of Any Type in C#?

default(Type) と同等の手続き

リフレクションを使用して型のプロパティを反復処理し、特定の型をデフォルト値に設定する場合、明示的な型ベースのデフォルトよりもクリーンなアプローチを採用することをお勧めします。この場合、そのようなシナリオに使用できる、default(Type) と同等のプログラムはありますか?

解決策:

これを実現するには、次のオプションが利用可能です:

  1. 値のタイプ:

    • Activator.CreateInstance メソッドを使用して新しいインスタンスを生成します。通常、このメソッドは値の型のデフォルト値を提供します。
  2. 参照型:

    • 参照型のデフォルトは null であるため、null を返すだけです。

サンプルコード:

次のコード例は、プログラムでデフォルト値を取得する方法を示しています。

<code class="language-csharp">public static object GetDefault(Type type)
{
    if (type.GetTypeInfo().IsValueType)
    {
        return Activator.CreateInstance(type);
    }
    return null;
}</code>

注:

新しい .NET バージョン (.NET Standard など) では、type.IsValueTypetype.GetTypeInfo().IsValueType と書かれます。

以上がC#で任意のタイプのデフォルト値をプログラム的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。