时间:2021-05-19
下面是关于setvalue方法的介绍以及错误简介
用索引化属性的可选索引值设置指定对象的该属性值。
参数
obj Object将设置其属性值的对象。
value Object新的属性值。
index Object[]索引化属性的可选索引值。 对于非索引化属性,该值应为 null。
实现
SetValue(Object, Object, Object[])index 数组不包含所需的参数类型。
或 找不到该属性的 set 取值函数。
或 - value 无法转换为 PropertyType的类型。
TargetException在适用于 Windows 应用商店应用的 .NET 或可移植类库中,改为捕获 Exception。
该对象与目标类型不匹配,或者某属性是实例属性但 obj 为 null。
TargetParameterCountExceptionindex 中的参数数量与索引属性采用的参数数量不匹配。
MethodAccessException在适用于 Windows 应用商店应用的 .NET 或可移植类库中,改为捕获基类异常 MemberAccessException。
试图非法访问类中的私有或受保护方法。
TargetInvocationException设置属性值时出错。 例如,为一个索引属性指定的索引值超出范围。 InnerException 属性指示出错的原因。
之前有个小错误一直弄不出来,后来看了错误提示“index 数组不包含所需的参数类型。
或 找不到该属性的 set 取值函数。
或 value 无法转换为 PropertyType的类型。”
发现自己想要赋值的实体类不是实体的属性,而是实体的字段,所以setvalue方法就捕捉不到我想要赋值的这些字段,只需要将这些字段设置为自动属性即可。
补充:C# Property.SetValue()利用反射给某个泛型对象的属性赋值的问题
在一个泛型方法中,实例化一个泛型对象后,利用反射获取该泛型中的所有属性,再给该对象的这些属性赋值,打断点发现,泛型对象被实例化出来了,没有问题;所要赋值的属性值也没有问题,但调用Property.SetValue()后,泛型对象中的值就是赋不上。
调用该泛型方法时,传入的类型是个结构体。。这个方法只支持class,不支持struct。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文展示了一个C#的Socket操作类的完整实例,并附带了用法说明,分享给大家供大家参考之用。具体方法如下:主要功能代码如下:usingSystem;using
属性(Attribute)是C#程序设计中非常重要的一个技术,应用范围广泛,用法灵活多变。本文就以实例形式分析了C#中属性的应用。具体入戏:一、运用范围程序集,
mysqldump常用于MySQL数据库逻辑备份。1、各种用法说明A.最简单的用法:mysqldump-uroot-pPassword[databasename
下面介绍jquery字符串切割函数substring的用法 代码如下:jquery字符串切割函数substring的用法说明
1、各种用法说明A.最简单的用法:复制代码代码如下:mysqldump-uroot-pPassword[databasename]>[dumpfile]上述命令