1: 文件设置为只读比可读可写更快,性能更好吗??2:  多层继承是否会影响性能?3:  变化区域允许代码重复,因为代码重复的地方是极容易变化的地方,而2个类在某处代码重复,但是它们变化不同,所以这个时候就应该允许它们暂时的重复, 过度抽象很容易复杂化问题.4:  微软为什么不提供强力的数据存储读取技术呢?? 他们显然是有这个技术实力的,但是它们为什么不做呢??
有很多时候,我们要完全保护数据现场,使得下一次加载时接着上次再来,而不是重头再来.
比如: list<list<int>> mz=new  list<list<int>>();
本次执行后,mz.Count=15;
 其中  mz[0].Count=x1;mz[2].Count=x2;mz[3].Count=x3.........那么只需要执行mz.Save(filepath),就可以将这些数据保存到一个指定路径的文件中.
而下一次执行程序时,只需要mz.Load(filepath),就可以读取到这些数据,而不使用该方法,就可以重头再来.5: T不能转化为long, 我有一种需求,要求针对int long 的某一层次执行相同的操作,而int long的底层函数是不同的,也就是比如:底层函数不同.
public void intDEL(int ma){ ...}  它们名字相同,但是内部代码不同
public void intDEL(long ma){ ...}上层函数操作相同:public void numDEL(T ma)
{
intDEL(ma)  //我希望程序能够自动检测出,当T为int时,调用intDEL(int ma)
                   // 当T为long时,调用 intDEL(long ma) 
                  //但是程序报错,表示T无法转化为int//这个操作函数很大,我不希望把它的代码重复写一次,因为这样的上层函数很多.
//请问我该如何实现用同一个函数完成对int和long的相同操作呢??
//当前操作版本: C#2.0         是不是4.0的运行时检测机制就允许这样做呢???
}

解决方案 »

  1.   

    针对5:调用不同参数类型的函数属于那种编译时的多态,在运行时没有办法实现.
    编译多态是指要调用那种方法由编译器来选择,也就是说代码没有执行,你就能推断出来要调用那种方法。(运行的多态主要通过继承、接口实现来达到。)
    要想自动选择,入些代码才行
    比如
    public void numDEL(T ma)
    {
     if(m is typeof(int))
     {
      intDEL((int)m);
     }
     else if(m is long)
     {
      intDEL((long)m);
     }
     ...
    }
    或者写一个泛型方法intDEL<T>(T m),调用时直接可以
    public void numDEL(T ma)
    {
     intDEL<T>(m);
    }
      

  2.   

    感谢liangchencf对第五个的回答啊
     
      

  3.   

    问题4,提供了一种序列化技术。将对象序列化到流中
    BinaryFormatter.Serialize(Stream, obj)和BinaryFormatter.Deserialize(Stream);
    只要是被定义了SerializableAttribute属性的类型实例都可以被序列化,
    比如
    [SerializableAttribute]
    public class a
    {
     int m;
    }
    一些常用的数据结构都设置了SerializableAttribute属性(你可以F12看一下)。