代码之家  ›  专栏  ›  技术社区  ›  Nap

如何在c中向接口添加成员变量#

  •  2
  • Nap  · 技术社区  · 14 年前

    我知道这可能是基本的,但我似乎不能添加一个成员变量的接口。

    public interface IBase {
      void AddData();
      void DeleteData();
    }
    
    public abstract class AbstractBase : IBase {
      string ErrorMessage;
      public abstract void AddData();
      public abstract void DeleteData();
    }
    
    public class AClass : AbstractBase {
      public override void AddData();
      public override void DeleteData();
    }
    

    根据罗伯特·弗雷泽的评论更新

    5 回复  |  直到 14 年前
        1
  •  2
  •   Robert Fraser    14 年前
    public interface IBase {
      void AddData();
      void DeleteData();
    }
    
    public abstract class AbstractBase : IBase {
      string ErrorMessage;
      public abstract void AddData();
      public abstract void DeleteData();
    }
    

    为我工作。您缺少抽象类方法的“public”和“void”。

        2
  •  11
  •   Pawan Mishra    14 年前

    不能向接口添加字段。接口只能包含方法,因此只能在接口声明中声明方法、属性和事件。可以使用属性代替字段。

    public interface IBase {  
      string ErrorMessage {get;set;}
      void AddData();  
      void DeleteData();  
    }
    
        3
  •  1
  •   rh.    14 年前

    -实现详细信息时,不能在接口中声明成员变量。

        4
  •  0
  •   tyranid    14 年前

    i.e.

    也就是说,如果它是一个需要私有的东西,那么它就不应该在接口中。

        5
  •  0
  •   Zach Johnson    14 年前

    你是说地产而不是田地?

    public interface IBase {
      string ErrorMessage { get; set; }
      void AddData();
      void DeleteData();
    }
    
    public abstract class AbstractBase : IBase {
      abstract string ErrorMessage { get; set; }
    
      // also, you need to declare a return type for the methods
      abstract void AddData();
      abstract void DeleteData();
    }