public abstract class CardInfo:ICardInfo
    {
        public CardInfo()
        {
        }        public static string GetCardInfo(string CardId, out string MemberName, out string MemberCompany)
        {
        .......
        }
}
    public interface ICardInfo
    {
         string GetCardInfo(string CardId, out string MemberName, out string MemberCompany);
}调用:
CardInfo.GetCardInfo("4721", out Name, out COmp);
出现错误:
“CardInfo”不会实现接口成员“ICardInfo.GetCardInfo(string, out string, out string)”。“CardInfo.GetCardInfo(string, out string, out string)”或者是静态、非公共的,或者有错误的返回类型。
我有关这个面向对象的知识不是很熟悉,想问一下,这样,静态方法不能通过接口实现 和调用吧?

解决方案 »

  1.   

    public class CardInfoSub:CardInfo
    {
    public CardInfo()
    {
    }
        public static string GetCardInfo(string CardId, out string MemberName,out string MemberCompany)
        {}
    }
    调用是:
    CardInfoSub.GetCardInfo("4721", out Name, out COmp);
    刚才忘记写派生类了,错误如上
    谢谢
      

  2.   

    不能用静态的方式来实现接口,去掉static:public string GetCardInfo(string CardId, out string MemberName, out string MemberCompany)
      

  3.   

    我去掉static 后出现这样一个问题:
    “CardInfoSub.GetCardInfo(string, out string, out string)”隐藏了继承的成员“CardInfo.GetCardInfo(string, out string, out string)”。如果是有意隐藏,请使用关键字 new。
    这个怎么回事?我面向对象的学习的不好,说说看,为什么静态的方法为什么不能用接口来实现?
      

  4.   

    public   string GetCardInfo(string CardId, out string MemberName, out string MemberCompany)