一个类不能从2个或者更多的类继承所以你必须把class1 class2至少一个定义成接口:
比如
public interface Class1
    {
        int ID       //ID
        {
            get;
            set;
        }        string Name    //姓名
        {
            get;
            set;
        }
}

解决方案 »

  1.   

    如果可以的话,让 class2 从 class1 继承。
    既然C#不允许从两个类继承,那肯定是有办法解决相应的问题的,其实也是因为从多个类继承是存在许多理论问题的。
      

  2.   


        public interface IClass1
        {
            int ID { get; set; }
            string Name { get; set; }
        }
        public class Class2
        {
            public int Age    //年龄
            {
                get;
                set;
            }        public string Sex     //性别
            {
                get;
                set;
            }
        }
        public class Class3 : Class2, IClass1
        {
            private int id;
            public int ID
            {
                get { return this.id; }
                set { this.id = value; }
            }
            private string name;
            public string Name
            {
                get { return this.name; }
                set { this.name = value; }
            }
        }
      

  3.   

    继承类 耦合度多高啊, 要用的话 可以组合,把Class1声明为字段
      

  4.   

    public class Class2
        {
    public Class1 Human
    {
    }
            public int Age    //年龄
            {
                get;
                set;
            }
     
            public string Sex     //性别
            {
                get;
                set;
            }
        }
      

  5.   

    嗯,建议你把Class1和Class2作为Class1的属性
    namespace ClassLibrary1
    {
        public class Class3 : Class2
        {
            public Class1 class1
            {
                get;
                set;
             }
            public string Address     //地址
            {
                get;
                set;
            }        public string Department    //部门 
            {
                get;
                set;
            }
        }private void button1_Click(object sender, EventArgs e)
            {
                Class3 cl3 = new Class3();
                cl3.Address = "上海";
                cl3.Age = 23;
                Class2 _class2 = new Class2();
                class2.Sex = '男'
                class2.Age = 13;
                cl3.class2 =  _class2
            } 
      

  6.   

    .net不支持多重继承,只能用实现接口的方式来模拟多重继承。你可以在你的vs上用鼠标右键点击class1,然后选择“重构->提取接口”,例如产生了接口 IClass1,然后修改你的class3代码使得它实现 IClass1,例如
        public  class Class3: Class2, IClass1
           {
                        .......
          }
      

  7.   

    低耦合,高内聚,原则啊。
    .NET只支持单继承,所以和各位大神意见相同,用接口。但,实现接口是针对接口中所定义内容的具体实现,像你现在的问题,也只能把2个类定义为第三个类的属性了。
      

  8.   

    .net不支持多重继承,所以你必须使用接口。
    “我的目的是只声明Class3,那么Class2和Class1中的成员都在Clas3中”这种想法是实现不了的。