1. ホーム
  2. c#

[解決済み] プログラム上のデフォルトに相当するもの(Type)

2022-03-17 11:10:35

質問

リフレクションを使って Type のプロパティを設定し、特定の型をそのデフォルトに設定します。 今、私はその型にスイッチを入れて、その型に default(Type) を明示的に行うのですが、一行で済ませたいのです。 プログラム的にdefaultに相当するものはないのでしょうか?

解決方法は?

public static object GetDefault(Type type)
{
   if(type.IsValueType)
   {
      return Activator.CreateInstance(type);
   }
   return null;
}

.net standardなどの.netの新しいバージョンでは。 type.IsValueType と書く必要があります。 type.GetTypeInfo().IsValueType