C# 中屬性PropertyInfo的setvalue用法說明 - 程式人生

文章推薦指數: 80 %
投票人數:10人

下面是關於setvalue方法的介紹以及錯誤簡介用索引化屬性的可選索引值設定指定物件的該屬性值。

程式人生>程式設計>C#中屬性PropertyInfo的setvalue用法說明 C#中屬性PropertyInfo的setvalue用法說明 阿新•來源:網路•發佈:2021-01-20 下面是關於setvalue方法的介紹以及錯誤簡介 用索引化屬性的可選索引值設定指定物件的該屬性值。

C# publicvirtualvoidSetValue(objectobj,objectvalue,object[]index); 引數 objObject 將設定其屬性值的物件。

valueObject 新的屬性值。

indexObject[] 索引化屬性的可選索引值。

對於非索引化屬性,該值應為null。

實現 SetValue(Object,Object,Object[]) 異常 ArgumentException index陣列不包含所需的引數型別。

或找不到該屬性的set取值函式。

或-value無法轉換為PropertyType的型別。

TargetException 在適用於Windows應用商店應用的.NET或可移植類庫中,改為捕獲Exception。

該物件與目標型別不匹配,或者某屬性是例項屬性但obj為null。

TargetParameterCountException index中的引數數量與索引屬性採用的引數數量不匹配。

MethodAccessException 在適用於Windows應用商店應用的.NET或可移植類庫中,改為捕獲基類異常MemberAccessException。

試圖非法訪問類中的私有或受保護方法。

TargetInvocationException 設定屬性值時出錯。

例如,為一個索引屬性指定的索引值超出範圍。

InnerException屬性指示出錯的原因。

例子 Dictionarydic=newDictionary(); foreach(Controlcontrolinthis.Controls)//獲取控制元件中所有值,新增到字典中 { if(controlisTextBox||controlisComboBox||controlisDateTimePicker) { dic.Add(control.Name,control.Text); } } PropertyInfo[]propertys=incomingnews.GetType().GetProperties(); foreach(PropertyInfopropertyinpropertys)//運用propertyinfo的對映方法,給實體類incomingnews的所有屬性賦值。

{ for(inti=0;i



請為這篇文章評分?