我定义了一个类newstring继承string类之后,我怎么才能对newstring类的对象调用string类的方法啊,比如length什么的?要用unsafe指针么?

解决方案 »

  1.   

    string类是密封类,你不可能继承它的
      

  2.   

    1:一般不需要使用unsafe,但如果你用到了相关的操作,比如:fixed,byte*之类的就有可能需要。
    2:base.xxx就可以调用了。
    3:原则上不建议你继承自string,可以考虑用VS2008/C# 3.0的extension method,扩展方法。
      

  3.   

    HOHO,我还没试过继承string。我想也是……
    那就是只能使用extension method.
    试试这个:
    public static class StringPlus
    {
       public static string DoubleString(this s)
       {
          return s+s;
       }
    }引用这个类所在的命名空间,然后你就会看到你所有的string类都多了一个DoubleString方法,可以返回s+s;
      

  4.   

    String 是 sealed 的怎么继承啊
      

  5.   

    string没法继承 呵呵 这正好是一个面试题目 
      

  6.   


    这个是什么方法还没有用过,但我考这段代码到VS2005中结果要报错,把this去了用StringPlus但是,错误 “StringTest.StringPlus”: 静态类型不能用作参数
    请多指教,谢谢!
      

  7.   

    VS2005本身不支持这种语法,需要安装C# 3.0版的编译器。建议你安装一个Linq Preview就可以支持这个功能了。不过更好的功能是安装VS2008。