public class BaseClass<T>
{
     public void Fun1<T>(T entity){}
     public void Fun2<T>(T entity,string str){}
}

解决方案 »

  1.   


    每个entity 我都继承了一个父类的
      

  2.   


        public class Entity1{}
        public class Entity2 { }
        public class Entity3 { }
        public class parent<T>
        {
            public void fun1<T>(Entity1 entity){}        public void fun2<T>(Entity1 entity, string str){}
        }
        public class class1 : parent<Entity1>{}
        public class class2 : parent<Entity2> { }
        public class class3 : parent<Entity3> { }
      

  3.   


        public class Entity1 { }
        public class Entity2 { }
        public class Entity3 { }
        public class parent<T>
        {
            public void fun1<T>(T entity) { }        public void fun2<T>(T entity, string str) { }
        }
        public class class1 : parent<Entity1> { }
        public class class2 : parent<Entity2> { }
        public class class3 : parent<Entity3> { }
      

  4.   


    子类里面怎么用entity里面的属性?
      

  5.   


    子类里面怎么用entity里面的属性?public class Entity1 {
            public string Name { get; set; }
        }
        public class Entity2 { }
        public class Entity3 { }
        public class parent<T>
        {
            protected T _entity;
            public virtual void fun1(T entity)
            {
                _entity = entity;
            }
            public virtual void fun2(T entity, string str) { }
        }    public class class1 : parent<Entity1>
        {
            public override void fun1(Entity1 entity)
            {
                entity.Name = "";
                base.fun1(entity);
            }
        }
        public class class2 : parent<Entity2> { }
        public class class3 : parent<Entity3> { }
      

  6.   


        public class Entity1 {
            public string Name { get; set; }
        }
        public class Entity2 { }
        public class Entity3 { }
        public class parent<T>
        {
            protected T _entity;
            public virtual void fun1(T entity)
            {
                _entity = entity;
            }
            public virtual void fun2(T entity, string str) { }
        }    public class class1 : parent<Entity1>
        {
            public void TestFunc()
            {
                Console.Write(_entity.Name);
            }
            public override void fun1(Entity1 entity)
            {
                entity.Name = "";
                base.fun1(entity);
            }
        }
        public class class2 : parent<Entity2> { }
        public class class3 : parent<Entity3> { }