2011-11-20 158 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 开头,并且类消息的名称不会描述该类负责什么。

相关问题