リフレクションを使用して属性の文字列値を設定します
リフレクションを使用してプロパティを設定すると、型の不一致により ArgumentException が発生する場合があります。この問題を解決するには、次の点を考慮してください:
方法 1: Convert.ChangeType()
このメソッドにより、実行時に互換性のある型間の変換が可能になります。非 IConvertible 型の場合、特殊なケースのロジックが必要になる場合があります。
コード例:
<code class="language-csharp">Ship ship = new Ship(); string value = "5.5"; PropertyInfo propertyInfo = ship.GetType().GetProperty("Latitude"); propertyInfo.SetValue(ship, Convert.ChangeType(value, propertyInfo.PropertyType), null);</code>
以上がリフレクションを使用して文字列値をプロパティに安全に設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。