解决方案 »

  1.   

    最近开始学C#,看了2本老外的书,我写几句吧。
    1.抽象方法必须定义在抽象类中,否则会编译出错,不信你可以试试;
    2.抽象方法不能定义函数体,只能声明,否则出错;
    3.抽象类不能直接实例化,不能new baseclass(),否则报错;
    4.抽象类可以继承,在子类中重写抽象方法,如下代码;
    5.可以通过多态的方式,使用子类实例中的重写后的抽象方法;
            public abstract class BaseClass
            {
                public abstract void DoIt();
                //Can not declare method body
            }
            public class SonClassA:BaseClass
            {
                public override void DoIt()
                {
                    Console.WriteLine("Method in A class");
                }
            }
            public class SonClassB : BaseClass
            {
                public override void DoIt()
                {
                    Console.WriteLine("Method in B class");
                }
            }
            static void Main(string[] args)
            {
                SonClassA sonA = new SonClassA();
                SonClassB sonB = new SonClassB();
                sonA.DoIt();
                sonB.DoIt();
                BaseClass bc = sonA;
                //Can not do this
                //BaseClass bc2 = new BaseClass();
                bc.DoIt();
                bc = sonB;
                bc.DoIt();
                Console.ReadKey();
            }
      

  2.   

    e.Values["WarePic"] = FileName;  和  e.NewValues["WarePic"] = FileName;
      

  3.   

    我也是一个C#新手。上面的代码我看不懂,所以我只从定义角度阐述一下。
    1、抽象方法:只声明方法名而没有方法体的方法,此为抽象方法。
    2、抽象类:包含一个或多个抽象方法的类,此为抽象类。
    关键字是:abstract
    因此:
    1、你可以定义一个用abstract修饰的类,该类中包含一个abstract修饰的方法,(==就是你要求的两个方法写成一个抽象方法)
    2、接着,你从这个抽象类里继承一个类,
    3、然后,在继承类中重写调用抽象方法的实现方法,(==就是你贴的这两段方法的代码)希望对你有用。