如何从另一个类中获取值?

时间:2015-12-16 13:00:50

标签: c# streamwriter

我对此很新,但我有3个类,其中一个使用命令行要求用户按1或2来回答问题,然后我使用get; set;来收集这个信息在另一个班级。

我想将这些信息写入文本文档。问题是,我使用StreamWriter的课程无法识别我用来定义其他课程中的信息的单词。任何帮助都会很棒。这是我想要的信息。

StreamWriter writer = new StreamWriter(@"C:\Users\Dan\Documents\testText.txt");
writer.WriteLine("Passenger Information" //want the SeatSelection in here);
writer.Close();    

原始信息来自这里。虽然在这段代码中,它正在识别“SeatSelection”这个词?为什么它在这里而不是在上面识别?

Console.Clear();
Console.WriteLine("Please select first or third class for your trip. ");
Console.WriteLine("1) First Class Compartment.");
Console.WriteLine("2) Third Class with Compartments.");
Console.WriteLine("3) Car C Open seating.");
Console.WriteLine("4) Car D Open seating.");
Console.WriteLine("5) Return to booking main menu.");
bool validInput = false;

do
{
    validInput = true;
    ConsoleKeyInfo key = Console.ReadKey();
    switch (key.Key)
    {
        case ConsoleKey.D1:
        case ConsoleKey.NumPad1:
            seatClass.SeatSelection = "First Class";
            FirstClass();
            break;
        case ConsoleKey.D2:
        case ConsoleKey.NumPad2:
            seatClass.SeatSelection = "Third Class Compartment";
            ThirdClassCompartments();
             break;

2 个答案:

答案 0 :(得分:2)

我不确定你的应用程序结构是什么,但是你想要这些内容:

var seatClass = UserInterface.GetSeatClass();

StreamWriter writer = new StreamWriter(@"C:\Users\Dan\Documents\testText.txt");
writer.WriteLine("Passenger Information" + seatClass.SeatSelection);
writer.Close();

...我创造性地插入了一个想象的UserInterface静态类,它从它的GetSeatClass方法返回一个SeatClass的新实例:

public static class UserInterface
{
    public static SeatClass GetSeatClass()
    {
        var seatClass = new SeatClass();

        //code here that assigns values to seatClass

        return seatClass;
    }
}

我可以通过更多信息为您提供更好的答案。请不要犹豫,提出任何问题。 (对不起,我刚刚开始使用静态课程。如果需要,我可以解释。)

答案 1 :(得分:0)

您可以使用此

var filePath = @"C:\Users\Dan\Documents\testText.txt";
var lines = new[] {"a line content"};
System.IO.File.AppendAllLines(filePath, lines);

而不是StreamWriter。