[属性" * "的代码生成失败.错误是:"程序集"*.Version=1.0.0.0,Culture=neutral,.........

智能设备 Windows CE下,自定义控件中有一属性为

List<T> Points = new List<T>();

        /// <summary>
        /// 获取或设置当前未记录的点集合
        /// </summary>        
        public List<T> CurrentPoints
        {
            get { return Points;}
            set { Points = value; }
        }
T是自定义的一个结构:
  /// <summary>
    /// 点结构
    /// </summary>    
    public struct T
    {
        public float X;
        public float Y;
    }
有时会出现以下错误:
   属性“CurrentPoints”的代码生成失败。错误是:“程序集“myControl,Version 1.0.0.0, Culture = neutral, PublicKeyToken = null  ”中的类型“MapControl.PointF”未标记为可序列化。”
http://blog.csdn.net/wxm3630478/article/details/4295122上提供了几种解决方法,但是没有解决我的问题,大家可以尝试下。

我认为出现上述问题原因是List<T>集合类型作为属性造成的原因,我最后的解决办法是:不将List<T>集合作为一个属性提供出去而是通过方法:
Public T[] GetCurrentPoints
{
Return Points.ToArray();
}
Public void SetCurrentPoints(T[] t)
{
	Points.AddRange(t);
}
为了稳定起见,参数的传递也改成了基本的数组类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值