首頁 >後端開發 >C++ >如何使用反射安全地將字串值設定為屬性?

如何使用反射安全地將字串值設定為屬性?

Linda Hamilton
Linda Hamilton原創
2025-01-20 10:22:09638瀏覽

How to Safely Set a String Value to a Property Using Reflection?

使用反射設定屬性的字串值

使用反射設定屬性時,可能會因為類型不符而遇到ArgumentException異常。為了解決這個問題,請考慮以下方法:

方法一: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn