リフレクション コード (C#) で null 許容型を設定する方法は? 質問する

リフレクション コード (C#) で null 許容型を設定する方法は? 質問する

リフレクションを使用してクラスのプロパティを設定する必要があります。

Dictionary<string,string>プロパティ名と文字列値を持つ があります。

リフレクション ループ内では、各プロパティの値を設定するときに、文字列値を適切なプロパティ タイプに変換する必要があります。これらのプロパティ タイプの一部は null 許容型です。

  1. プロパティが null 許容型であるかどうかを PropertyInfo から確認するにはどうすればよいですか?
  2. リフレクションを使用して null 許容型を設定するにはどうすればよいですか?

編集:このブログのコメントで定義されている最初の方法も効果があるようです。http://weblogs.asp.net/pjohnson/archive/2006/02/07/437631.aspx

ベストアンサー1

  1. これを行う 1 つの方法は次のとおりです。

    type.GetGenericTypeDefinition() == typeof(Nullable<>)
    
  2. 他のリフレクション コードと同じように設定するだけです。

    propertyInfo.SetValue(yourObject, yourValue);
    

おすすめ記事