none
在Windows From窗体设计器中不能使用泛型类型的集合作为属性类型 RRS feed

  • 问题

  • 自定义Collection集合类。。。

    Code Snippet

        public class cblocktable
        {
            private int field = 0;
            private int field1 = 0;

            public int Property
            {
                get
                {
                    return field;
                }
                set
                {
                    field = value;
                }
            }

            public int Property1
            {
                get
                {
                    return field1;
                }
                set
                {
                    field1 = value;
                }
            }
        }

     

     

     

    Code Snippet

    private List<cblocktable> 表变量 = new List<cblocktable>();

           

     public List<cblocktable> 表属性
            {
                get
                {
                    return 表变量;
                }
                set
                {
                    表变量 = value;
                }
            }

     

     

    2009年1月14日 14:30

答案

  • 这和前面的代码效果不是同样的么?除了把属性的类型变成可以序列化的类型之外,我看不出和前面的代码有什么不同。
    如果你是在序列化对象或者使用Visual Studio IDE窗体设计器的时候出现对象不支持序列化的问题,你应该在提问时就声明。

    如果你要别人帮忙,就不要让别人猜你的问题到底是什么。

    2009年1月15日 2:19
    版主

全部回复

  • 内存报错的话检查内存是否有问题。代码有异常的话用调试器调试。
    2009年1月14日 15:46
    版主
  •  

    怎么老是转移我的帖,这问题的确很难的,需要高手解决。。。。

    谢谢你的管理,但是这问题在C#区才能得到解决,我心里有数。。

     

    我是自定义组件才会报错。。。请问你有遇过此情况吗。。。

     

    2009年1月15日 1:53
  • 把重现步骤贴出来。目前你对你的问题的描述不足以让别人重现问题。
    2009年1月15日 1:58
    版主
  •  

    已经够清楚了,我怕写多了,让人更头疼,

    就是collection 集合类,自定义,

    我听说有一个叫collectioneditor.

    2009年1月15日 2:00
  • 我相信懂的人,一眼就明白我写什么,不懂的人,我写再多也无用处。。。

    因为这个东西已经是最简洁了。

     

    2009年1月15日 2:03
  •  

    麻烦把我的帖移回C#区。。
    2009年1月15日 2:03
  • 简洁过头了,代码没什么问题,除了集合类型的属性不应该允许在外部被修改这样一个设计缺陷之外。问题应该在其他的地方。
    2009年1月15日 2:06
    版主
  •     class Class1Stick out tongueictureBox
        {
            private collection 表变量 = new collection();

            public collection 表属性
            {
                get
                {
                    return 表变量;
                }
                set
                {
                    表变量 = value;
                }
            }

        }

        public class collection:List<cblocktable>//非得逼我这样做才行。。。
        {

        }
        public class cblocktable
        {
            private int field = 0;
            private int field1 = 0;

            public int Property
            {
                get
                {
                    return field;
                }
                set
                {
                    field = value;
                }
            }

            public int Property1
            {
                get
                {
                    return field1;
                }
                set
                {
                    field1 = value;
                }
            }
        }

    2009年1月15日 2:08
  •  

    不明白就是不明白,凭什么
    2009年1月15日 2:09
  • 这和前面的代码效果不是同样的么?除了把属性的类型变成可以序列化的类型之外,我看不出和前面的代码有什么不同。
    如果你是在序列化对象或者使用Visual Studio IDE窗体设计器的时候出现对象不支持序列化的问题,你应该在提问时就声明。

    如果你要别人帮忙,就不要让别人猜你的问题到底是什么。

    2009年1月15日 2:19
    版主
  •  

    感谢你的回复,

    我也不明白,为什么会这样,

    我没什么文化,很多东西都不懂,所以说不清楚。

     

    下次我会注意我的写法的。。。

    2009年1月15日 2:22
  • 请问你有好的方案了没。。。
    2009年2月5日 13:11
  • Visual Studio窗体设计器没这个功能。
    MSMVP VC++
    2009年2月5日 16:17
    版主