default(Type) と同等の手続き
リフレクションを使用して型のプロパティを反復処理し、特定の型をデフォルト値に設定する場合、明示的な型ベースのデフォルトよりもクリーンなアプローチを採用することをお勧めします。この場合、そのようなシナリオに使用できる、default(Type) と同等のプログラムはありますか?
解決策:
これを実現するには、次のオプションが利用可能です:
値のタイプ:
Activator.CreateInstance
メソッドを使用して新しいインスタンスを生成します。通常、このメソッドは値の型のデフォルト値を提供します。 参照型:
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.IsValueType
は type.GetTypeInfo().IsValueType
と書かれます。
以上がC#で任意のタイプのデフォルト値をプログラム的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。