C# 属性的代码生成失败。错误是无法将属性转换为InstanceDescriptor

最近研究自定义控件,在控件中添加了自定义的结构属性之后,自定义控件就会报错,如下图:


网上有个高手说把 *.resx 文件中的<Data ...>...</Data>删除掉就行了。我试了一下,报错的确是没有了,但是我的控件的属性就变成NULL了,没有真正的解决此问题。又在网上查了很多资料,我觉得这个问题的关键就是我的结构属性。于是我又重新把结构属性的Converter类实现了一下,但是此报警依然存在。唉,快没招了。

抓耳挠腮弄了很久也没解决。于是就把这个问题搁置了,说不定等哪天灵感一到自然就解开了。但愿如此吧。

第二天我又重新打开这个项目,尝试了一下debug运行,结果什么错误都没有!真是奇怪了!!修改结构属性也能顺利改变属性的值,一点毛病没有。我又试着小小改动了一下控件,重新debug运行,结果报警又出来了。即使我把刚才修改的去除掉也没有恢复。静下来想了一下,感觉可能跟工程没有把属性更新到 *.resx文件中有关。重新关闭工程之后重启,报警又没有了。

这么棘手的问题就这么解决了。

要解决此问题首先要把结构属性的Converter类实现一下,然后在控件中添加此属性,此时生成一下工程,然后关闭项目,重新启动之后就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值