private int _id;
        private int? _categroyid;
        /// <summary>
        /// 自动编号
        /// </summary>
        public int ID
        {
            set { _id = value; }
            get { return _id; }
        }        public int? CategroyID
        {
            set { _categroyid = value; }
            get { return _categroyid; }
        }        public class GaaInfo
        { 
            public int ID { set; get; }
            public int? CategroyID { set; get; }
        }  这句是在VS2008下面的实例,但是当我拿到VS2005想用这个类的时候,发现编译有问题:2005必须声明主体,因为它未标记为 abstract 或 extern F:\网站建设WEB\Web_Play\App_Code\Model\Game.cs 135 34 F:\网站建设WEB\Web_Play\
错误,必须声明主体,因为它未标记,请问有好什么办法能让他在VS2005调整通过吗?

解决方案 »

  1.   

    因为C#3.0对语法进行了简化
    C#2.0必须写主题public int ID 

    set
    {
    }
     get
    {
    throw new Exception();

    }这样就可以编译过了
      

  2.   

    你要放在类里啊,C#是面向对象的,所有的代码都要放在类里!!
    如:class a
    {
            private int _id;
            private int? _categroyid;
            /// <summary>
            /// 自动编号
            /// </summary>
            public int ID
            {
                set { _id = value; }
                get { return _id; }
            }        public int? CategroyID
            {
                set { _categroyid = value; }
                get { return _categroyid; }
            }        public class GaaInfo
            { 
                public int ID { set; get; }
                public int? CategroyID { set; get; }
            }  }
    另外,int? 2005不知道可支持,你试下,它是让值类型可以被赋值为NULL
      

  3.   

    支持的,就是可以使用null赋值
      

  4.   

    这样 vs2005 是 不识别的。这个写法是2008 的 新特性。      public class GaaInfo
            { 
                public int ID { set; get; }
                public int? CategroyID { set; get; }
            }  
    2005 要 这样      public class GaaInfo
            { 
                private int _id
                private int _categroyid;
                public int ID {
                               get{return _id;}
                               set{_id=value;} 
                              }
                public int? CategroyID { 
                        get{return _categroyid;}
                        set{_categroyid=value;}                               }
            }  
      

  5.   


    这样是可以赋值为null,省些开销
      

  6.   

    我有个工具可以将2008的文件直接兼容的转换成为2005的,需要的话邮件我,[email protected]
      

  7.   

     在2.0框架下是没问题的
     public class Class1
        {
            private int _id;
            private int? _categroyid;
            public int ID
            {
                set { _id = value; }
                get { return _id; }
            }        public int? CategroyID
            {
                set { _categroyid = value; }
                get { return _categroyid; }
            }
            public class GaaInfo
            {
                public int ID { set; get; }
                public int? CategroyID { set; get; }
            }  
        }int? Nullable 可空类型
      

  8.   

    把set和我get项中的“ _” 改成“ .” 试试