现在有二种情况,
一种是一个类里面所有方法全要实例化(new),然后用一另个类去继承,这个时候我采用单例模式处理保证只有一个实例第二种情况是这个类全是静态方法,我仍用另外一个类来继承它(所以不能做为静态类),这种情况下类会被多次实例化(里面的方法只存在一个副本)在这二种情况下关于这个性能问题,哪个会比较好

解决方案 »

  1.   

    我觉得第一种情况,并不是说所有函数都会实例化。.net里应该是维护了一个类似于C++的函数表,而类实例化以后,里面的函数指针会指向函数表。
    两种情况都只在内存中维护一个实例,因此看不出性能差异。
    希望高手深入剖析。
      

  2.   

    而且CLR在运行的时候第一次调用的时候才会被编译成本地代码的。
    上面两种做法相差不大。
      

  3.   

    实例方法和静态方法不存在性能区别(如果内容一样).因为"静态"是C#的特性而不是 .Net的特性.  IL里也只是把它以语法形式标记一下罢了(为了做调用规则的限制),不信你 ILDASM出来看一下.既然执行的是相同IL, 并且都是预先编译完了,则不存在性能差别.