PDA

View Full Version : حرفه ای: object does not match target type. Getvalue



Kubuntu
سه شنبه 12 آذر 1392, 14:27 عصر
سلام بچه ها

نمی دونم چرا در متد GetValue در reflection خطای object does not match target type رو می ده.
در حالی که من خروجی رو در object ذخیره می کنم. در اینترنت چک کردم جای item از this استفاده کردم ولی حل نشد.

چه کنم به نظرتون؟!

public List< object> convertToSql(object obj)
{
PropertyInfo[] PI= obj.GetType().GetProperties();

List<object > result= new List<object>() ;

foreach (PropertyInfo item in PI )
{

switch (item.PropertyType.Name.ToLower() )
{
case "string" :
result.Add("'" + item.GetValue(item).ToString() + "'");
break;
case "datetime":
result.Add("'" + item.GetValue(item).ToString() + "'");
break;
case "bool":
result.Add((((bool)item.GetValue(item)== true )? 1 : 0));
break;
case "int32":
result.Add( item.GetValue(item));
break;
}
}

return result;

}

مهرداد صفا
سه شنبه 12 آذر 1392, 14:41 عصر
سلام.
به جای item باید یک instance از نوع مورد نظر ارسال کنید که در این مورد باید obj ارسال شود.