在其中写了一个存储的方法如下:
public void savefile(Data data,DataStyle style)
{
    switch(style)
    {
        case DataStyle.Teacher:
           { 进行老师类的存储  ;break; }
        case DataStyle.Student:
           { 进行学生类的存储  ;break; }
    }
}
其中我希望Data data即能表示Teacher类对象的首地址,也能表示Student类对象的首地址,在C++中,很容易实现,直接一个指针就实现了,而在C#中却不能这样操作。其中  enum DataStyle {Teacher,Student};
注:1。在方法前后加unsafe 不是个好办法,因为这样会使得每次调用它时,都要写上unsafe,麻烦。
    2。把教师类和学生类做为Data类的变量,也不是一个好办法。期待各位大虾们的回答,谢谢!

解决方案 »

  1.   

    两位说得都非常对,查了查资料,泛型用在这里是最好不过的了,当然object用在这里也可以实现,不过可能object会要求进行装箱和拆箱操作,会比较费时一点,
    在这个地方由于Data是一个类,好像记得如果是引用类型的,就不会进行装箱和拆箱的操作,
    问一下柯南大侠,此处是否会进行装箱和拆箱操作。