リフレクションを使用して のプロパティをループしType
、特定の型をデフォルトに設定しています。ここで、型を切り替えて を明示default(Type)
的に設定することもできますが、1 行で実行したいと思います。デフォルトに相当するプログラムはありますか?
ベストアンサー1
- 値型の場合はアクティベーター.CreateInstance問題なく動作するはずです。
- 参照型を使用する場合はnullを返すだけです
public static object GetDefault(Type type)
{
if(type.IsValueType)
{
return Activator.CreateInstance(type);
}
return null;
}
.net標準などの新しいバージョンの.netでは、type.IsValueType
次のように記述する必要があります。type.GetTypeInfo().IsValueType