从Program.cs以外的文件执行输出

时间:2011-05-01 16:34:56

标签: c# .net visual-studio class console-application

我在VS 2010中创建了一个新的控制台应用程序。

我在Program.cs文件下编写了一些代码。现在我创建了另一个类,我在那里编写代码。 现在当我从另一个类执行程序时,从program.cs文件调用输出。 如何进行项目设置,以便输出从另一个类和NOT program.cs文件中反映出来?

4 个答案:

答案 0 :(得分:1)

Xor power - 我将尽可能在这里回答你的意见

如果我需要调用其他类的主方法而不是任何用户定义的方法怎么办?

控制台应用程序只能有 1 主方法 - 这是应用程序的入口点。

因此,要在程序中添加新的Main方法,需要先更改哪个类,要执行此操作,只需从Program.cs中删除main方法并将其添加到新类中,如下所示

class NewClass
{
    static void Main(string[] args)
    {
        Console.WriteLine("hello, world");
    }
}

这不是简单的显示到控制台:不是如果我需要从Program.cs以外的任何其他类输出到控制台

另一方面,如果你需要让一个类写入控制台并且它不是起始类,那么你必须指定一个方法并使用Console.Writeline作为Dave& MrFox已经在上面展示了。这方面的例子如下所示

class Program
{

    static void Main(string[] args)
    {
        // use a instance of a class to write
        NewClass myNewClass = new NewClass();
        myNewClass.WriteOutPut();

        // use a static class
        NewClass2.WriteOutPut();

        // finally read back so that they we can see what was ouputted
        Console.ReadLine();
    }

}

/// <summary>
/// this is an instance class
/// </summary>
public class NewClass
{
    public void WriteOutPut()
    {
        Console.WriteLine("hello");
    }
}

/// <summary>
/// this is a static class
/// </summary>
public static class NewClass2
{
    public static void WriteOutPut()
    {
        Console.WriteLine("hello");
    }
}

答案 1 :(得分:0)

使用.NET运行时,任何控制台应用程序都将具有Main()功能。这是运行时执行的应用程序的入口点,用于运行应用程序。这可能是您现在可以在Program.cs中找到的。

要从控制台应用程序中的 ANY 类输出文本到控制台窗口,您只需要输入:

Console.WriteLine("Some message")

Console.Write("Some message without a linefeed after it")

输出到应用程序的控制台窗口。

要在控制台应用程序的 ANY 类中读取控制台的输入,您将使用

Console.ReadLine(**variable to take in input**);

Console.Read(**variable to take in input**);

Here is a link to the complete API for the Console class in .NET 4

我希望这能帮到你。

答案 2 :(得分:0)

您需要在main方法中创建其他类的对象(通常位于Program.cs中)并调用它的方法。

C#中的主要方法通常用属性“[STAThread]”标识。

所以在main方法中,如果你的类名是FooBar:

    [STAThread]
    static void Main(string[] args)
    {
        FooBar fooBar = new FooBar();
        fooBar.RunMethod();
    }

答案 3 :(得分:0)

我为此迟到了。但是不要在Program.cs中编写Main方法并将其写入正在执行的其他文件中。或者使用c#cli编译器来编译和执行而不是Visual Studio