2016-12-06 32 views
-3

我正在尝试创建一个名为“Battlefield”的新类。它应该从Environment类派生,并使用base关键字从该Environment类获取所有方法和变量。任何人都知道如何使用该基本关键字?我在Google上到处搜索过,但我提出的大部分内容都没有帮助。C#“base”关键字和模板

我的环境类是一个抽象类,它具有以下变量

 protected List<ENTITY> entities = new List<ENTITY>(); 

它的构造

 public ENVIRONMENT() 
     { 
      entities = new List<ENTITY>(); 
     } 

     public ENVIRONMENT(List<ENTITY> entities) 
     { 
      this.entities = entities; 
     } 

和下面的方法...

 public void AddEntity(ENTITY e) 
     { 
     } 

     public List<ENTITY> Population 
     { 
      get { return entities; } 
     } 

     public void run() 
     { 
      // run method 
     } 

     public void step(int seed) 
     { 
      // step method 
     } 

}

+1

您是说官方文档无助于解释关键字? –

+0

是的。我无法理解它。 – miiworld2

回答

1

如果在Battlefield中覆盖Environment中的同名方法,并且您希望Environment方法中的值取代Battlefield覆盖的值,则只需要base关键字。例如在Battlefield中:

public class Battlefield : Environment { 
    public List<ENTITY> Population 
    { 
     get 
     { 
     var epop = base.Population; 
     return epop.Union(Casualties); 
     } 
    } 

    public List<ENTITY> Casualties 
    { 
     get { return this.casualties; } 
    } 
} 
+0

我不知道。有人试图在没有理由的情况下降低问题和答案。 – miiworld2

+0

@John我会尝试这种方法。谢谢。 – miiworld2