我來自Java並且正在採用C#腳本,現在我已經遇到了這個問題,現在正在尋找解決方案,我嘗試將該類設置爲一個實例和一切。這是一個我正在和一些朋友合作的微型遊戲項目。如何從C#中的另一個類調用一個變量
無論哪種方式,我有StatHandler.cs處理所有我們的statpoints ...然後我有HealthManager.cs應該處理所有健康相關的東西。
的問題是,我不能爲我的生活弄清楚如何調用變量,如
public int stamina, strength, agility, dexterity, wisdom;
從StatHandler.cs
我知道,在Java中這將是爲容易,因爲
maxHealth = StatHandler.stamina * 10;
雖然,你不能做到這一點與C#,創建實例時的代碼看起來像這樣
maxHealth = StatHandler.instance.stamina * 10;
它爲我提供了錯誤
NullReferenceException: Object reference not set to an instance of an object
我也試過inherriting,這樣做
public class HealthHandler : StatHandler {
但它設置的所有值設爲0的HealthHandler類,它不讀任何東西。
我真的只需要弄清楚如何拉從其他C#文件的變量,因爲這是我的放緩一路下跌。
[這是如何做一個漫長的旅程](http://books.google.com.sg/books/about/Head_First_C.html?id=Rnea7qV_qQAC&redir_esc=y),這裏是你如何[做它現在](http://stackoverflow.com/questions/1392017/calling-a-variable-from-another-class-c);) – bonCodigo
好像你正試圖獲得耐力,就像它是一個靜態的領域。 。或者在StatHandler中將其設爲靜態,或者創建一個StatHandler的新實例並從中獲得耐力。 – Oren
...「拾取C#腳本」...「調用變量」...「從C#文件中提取變量」......這個術語非常奇特。除此之外,它與Java中的相同:您需要一個對象實例來訪問類的非靜態字段。 –