2016-04-25 43 views
-1

我有一個類和方法像下面如何從另一個繼承的類在C#中調用一個方法

public class Wakeup : World 
{ 
    public void MethodA(string) 
     { 
      Log.writeline("Wakeup World"); 
     } 
} 

而下面一個是另一個類和方法,其中我想稱之爲「治法」

public class Hello : World 
{ 
    public void MethodB() 
     { 
      Wakeup p = new Wakeup; 
      p.MethodA(string); 
     } 
} 

這是行不通的。無法稱之爲「治法」,「方法b」

注意內:無論是歸類會繼承到一些所謂的「世界」等類

任何人都可以建議我怎麼能做到這一點?

+0

您遇到的錯誤是什麼? –

+0

InnerException: System.NullReferenceException:未將對象引用設置爲對象的實例。 –

+0

您提供的示例並未反映您的實際問題(NullReferenceException)。它不會事件編譯。 – CSharpie

回答

2

正確創建內部第二個第一類的實例,也通過一些string value代替string type在第二類方法調用

public class Wakeup : World 
    { 
     public void MethodA(string text) 
      { 
       Log.writeline(text); 
      } 
    } 
public class Hello : World 
    { 
     public void MethodB() 
      { 
       Wakeup p = new Wakeup(); 
       p.MethodA("Wakeup World"); 
      } 
    } 
+0

()已正確添加。還是一樣的問題。正在下載異常InnerException: System.NullReferenceException:未將對象引用設置爲對象的實例。 –

+0

看到我的更新,你必須在你的方法中傳遞一些文本,而不是隻有字符串類型 – Mostafiz

0

public class World { } 

public class Wakeup : World 
{ 
    public void MethodA(string a) 
    { 
     Console.WriteLine("Wakeup World"); 
    } 
} 
public class Hello : World 
{ 
    public void MethodB() 
    { 
     Wakeup p = new Wakeup(); 
     p.MethodA("Dsa"); 
    } 
} 
1

你有一個錯字的偉大工程,必須在實例化喚醒類後沒有放置()。它應該是如下:

Wakeup p = new Wakeup(); 

另一件事,你不應該的類型本身傳遞給方法,換句話說,沒有通過類型字string,而是一個字符串值。字符串值放在引號「」中,如下所示:「Hello,World」。

所以下面的代碼對你來說Class Hello應該可以工作。請注意,我是如何實例化您的喚醒類的,並將值傳遞給了方法A.以下是完整的代碼:

public class Wakeup : World 
{ 
    public void MethodA(string strValue) 
    { 
     Console.WriteLine(strValue); 
    } 
} 
public class Hello : World 
{ 
    public void MethodB() 
    { 
     Wakeup p = new Wakeup(); 
     p.MethodA("Hello, World"); 
    } 
} 
+0

()被正確添加。還是一樣的問題。獲取下方異常InnerException:System.NullReferenceException:未將對象引用設置爲對象的實例。 –

+0

看看你的代碼中的這一行,如果你已經閱讀我的完整答案,你會注意到我提到了這個:p.MethodA(string);您不能將字符串傳遞給MethodA,您需要傳遞一個字符串值...另一件事,請看我如何聲明您的MethodA。複製這段代碼,看看它是否有效 –

相關問題