2016-12-06 62 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