我想写一个接口,用来处理字符串。可是用来强制转换string时报错:无发将string强制转换为Imyinterface类型。是不是自定义的接口需要继承什么其他接口才能实现我需要的功能?请高手指点,谢谢!

解决方案 »

  1.   

    我是用类似((ilist)array).contain()的格式:
    string mystring=((Imyinterface)mystring1).myfunction();
      

  2.   

      public interface IMyCharManager
        {
            string getlow(string s);
        }    public class CharManager : IMyCharManager
        {
            #region IMyCharManager 成员        public string getlow(string s)
            {
                throw new Exception("The method or operation is not implemented.");
            }        #endregion
        }
      

  3.   

    使用
     string a = "ASDFAS";
     sting b = ((IMyCharManager)a).getlow(a);
          
      

  4.   

    a是string类型的(IMyCharManager)a) 你把他强转成IMyCharManager类型肯定报错
      

  5.   

    因为string类型是sealed,就是说它不能被子类继承。
    所以你最好用一个包装类来封装它。
    public interface IMyInterface {...}public class StringWrapper : IMyInterface {    private string _StrContent = string.Empty;
        //以下实现string中的各种方法。
        public int CompareTo(string strB) {
            return _StrContent.CompareTo(strB);
        }    public bool Contains(string value) {
            return _StrContent.Contains(value);
        }    ...
    }
      

  6.   

    无法将类型“string”转换为“IMyCharManager”
    编译没有通过。是不是我的这种使用本来就是无法实现?
      

  7.   

    是一个string一个IMyCharManager肯定不能相互转化你把字符串直接传给getlow方法执行不就行了吗
      

  8.   

    你要是用.net3.5就可以写扩展方法那个是比较自然的,.net2.0的话你只能用静态方法来解决了
      

  9.   

    使用 
    string a = "ASDFAS"; 
    sting b = ((IMyCharManager)a).getlow(a); 
          你应该是
    CharManager obj = new CharManager
    string b=((IMyCharManager)obj).getlow(a)