2011-11-20 155 views
0

Messages類中有一個名爲questionWhatisYourName()的方法,該方法由稱爲questionSurname()的另一種方法調用,該方法由類程序的Main方法調用。 是否有可能將questionWhatisYourName()中的數據返回到questionSurname()而無需在消息Class中調用它?也許我應該通過它作爲questionSurname()方法的參數?如何從使用此關鍵字的方法獲取數據

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication1 
{ 
class TextEffects 
{ 
    public void drawLine() { 
     Console.WriteLine("------------------------------------"); 
    } 
    public void drawLine(String linetype) 
    { 
     Console.WriteLine(linetype + 
     linetype + linetype + linetype + linetype + linetype + linetype + linetype + linetype + linetype 
     + linetype + linetype + linetype + linetype + linetype + linetype + linetype + linetype); 
    } 

} 
class Messages 
{ 
    public void hello() 
    { 
     Console.WriteLine("Hello and welcome."); 
    } 
    public String questionWhatIsYourName() 
    { 
     Console.WriteLine("What is your name?"); 
     String name = Console.ReadLine(); 
     return name; 
    } 
    public void questionSurname() 
    { 
     String myname = this.questionWhatIsYourName(); 
     Console.WriteLine(myname + " what is your surname?"); 

    } 
} 
class Program 
{ 
    static void Main(string[] args) 
    { 
     TextEffects texteffects = new TextEffects(); 
     Messages messages = new Messages(); 
     texteffects.drawLine("+"); 
     messages.hello(); 
     messages.questionSurname(); 
    } 
} 
} 

回答

4

是的,將它作爲字符串參數傳入。

public void questionSurname(string myname) 
{ 
    // ... 
} 

這樣稱呼它:

string name = messages.questionWhatIsYourName(); 
messages.questionSurname(name); 
0

只需添加名稱到類化子性質和使用這樣的:

class Messages 
{ 
    private string myName; 
    public void Hello() 
    { 
     Console.WriteLine("Hello and welcome."); 
    } 
    public void QuestionWhatIsYourName() 
    { 
     Console.WriteLine("What is your name?"); 
     myName = Console.ReadLine();    
    } 
    public void QuestionSurname() 
    { 
     QuestionWhatIsYourName(); 
     Console.WriteLine(myname + " what is your surname?"); 
    } 
} 

請注意,您的代碼不statndard。方法應該以uppper case 開頭,並且類消息的名稱不會描述該類負責什麼。

相關問題