访问类中的方法(C#)

访问类中的方法(C#),c#,class,C#,Class,我有一个非常简单的问题。话虽如此,我试图通过搜索stackexchange先前回答的问题来解决这个问题,但我没有找到答案。这是因为我想知道如何告诉程序的入口点来访问其他类 我以前写过一个简单的有限状态机,但是代码变得拥挤,因为我不知道如何将它分解成类。在我的新项目中,我试图将其分解,以便更好地管理 入口点从访问我创建的类开始,NewState()。如果运行代码,您会发现,尽管编译正确,但NewState()中的函数不会生成我想要的Console.WriteLine语句 所以,我的问题是: 如何使

我有一个非常简单的问题。话虽如此,我试图通过搜索stackexchange先前回答的问题来解决这个问题,但我没有找到答案。这是因为我想知道如何告诉程序的入口点来访问其他类

我以前写过一个简单的有限状态机,但是代码变得拥挤,因为我不知道如何将它分解成类。在我的新项目中,我试图将其分解,以便更好地管理

入口点从访问我创建的类开始,
NewState()
。如果运行代码,您会发现,尽管编译正确,但
NewState()
中的函数不会生成我想要的
Console.WriteLine
语句

所以,我的问题是:

如何使代码访问
NewState
类中的
static void State()
方法并显示
控制台.WriteLine
语句

课程类别:

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

namespace Finite_State_Machine_3
{
    class Program
    {
        static void Main(string[] args)
        {
            new NewState();
        }
    }
}
新闻状态类:

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

namespace Finite_State_Machine_3
{
    class NewState
    {
        static void State()
        {
                Console.WriteLine("Hello world");
        }
    }
}

如果它是静态的,那么您将从类而不是从实例调用它

所以


也就是说,如果我记得我的设计模式是正确的,那么您实际上希望传递实例,而不是使用静态方法。

如果它是静态的,那么您将从类而不是从实例调用它

所以


也就是说,如果我记得我的设计模式是正确的,那么您实际上希望传递实例,而不是使用静态方法。

如果它是静态的,那么您将从类而不是从实例调用它

所以


也就是说,如果我记得我的设计模式是正确的,那么您实际上希望传递实例,而不是使用静态方法。

如果它是静态的,那么您将从类而不是从实例调用它

所以


这就是说,如果我没有记错我的设计模式,那么您实际上希望传递实例,而不是使用静态方法。

该方法是静态的,因此与其创建实例,不如将
状态
方法公开,然后尝试此方法

static void Main(string[] args)
{
    NewState.State();
}
但是如果你要这样称呼它,你最好还是把它放在同一个班上

class Program
{
    static void Main(string[] args)
    {
        State();
    }

    static void State()
    {
        Console.WriteLine("Hello world");
    }
}
如果您确实希望将它放在一个单独的类中,并从该类的实例中调用它,则需要将
State
方法设置为非静态(以及公共)并从实例中调用它

class Program
{
    static void Main(string[] args)
    {
        NewState MyVariable = new NewState();
        MyVariable.State();
    }
}


class NewState
{
    public void State()
    {
        Console.WriteLine("Hello world");
    }
}

该方法是静态的,因此不要创建实例,而是将
状态
方法公开,然后尝试此方法

static void Main(string[] args)
{
    NewState.State();
}
但是如果你要这样称呼它,你最好还是把它放在同一个班上

class Program
{
    static void Main(string[] args)
    {
        State();
    }

    static void State()
    {
        Console.WriteLine("Hello world");
    }
}
如果您确实希望将它放在一个单独的类中,并从该类的实例中调用它,则需要将
State
方法设置为非静态(以及公共)并从实例中调用它

class Program
{
    static void Main(string[] args)
    {
        NewState MyVariable = new NewState();
        MyVariable.State();
    }
}


class NewState
{
    public void State()
    {
        Console.WriteLine("Hello world");
    }
}

该方法是静态的,因此不要创建实例,而是将
状态
方法公开,然后尝试此方法

static void Main(string[] args)
{
    NewState.State();
}
但是如果你要这样称呼它,你最好还是把它放在同一个班上

class Program
{
    static void Main(string[] args)
    {
        State();
    }

    static void State()
    {
        Console.WriteLine("Hello world");
    }
}
如果您确实希望将它放在一个单独的类中,并从该类的实例中调用它,则需要将
State
方法设置为非静态(以及公共)并从实例中调用它

class Program
{
    static void Main(string[] args)
    {
        NewState MyVariable = new NewState();
        MyVariable.State();
    }
}


class NewState
{
    public void State()
    {
        Console.WriteLine("Hello world");
    }
}

该方法是静态的,因此不要创建实例,而是将
状态
方法公开,然后尝试此方法

static void Main(string[] args)
{
    NewState.State();
}
但是如果你要这样称呼它,你最好还是把它放在同一个班上

class Program
{
    static void Main(string[] args)
    {
        State();
    }

    static void State()
    {
        Console.WriteLine("Hello world");
    }
}
如果您确实希望将它放在一个单独的类中,并从该类的实例中调用它,则需要将
State
方法设置为非静态(以及公共)并从实例中调用它

class Program
{
    static void Main(string[] args)
    {
        NewState MyVariable = new NewState();
        MyVariable.State();
    }
}


class NewState
{
    public void State()
    {
        Console.WriteLine("Hello world");
    }
}


您需要使该方法成为公共静态或内部静态,然后通过调用
NewState.State()

调用它。您需要使该方法成为公共静态或
内部静态
,然后通过调用
NewState.State()调用它

您需要使方法
公共静态
内部静态
,然后通过调用
NewState.State()
调用它,如果我想传递实例,您需要使方法
公共静态
内部静态
,然后通过调用
NewState.State()
调用它,我将如何实现?如果我想传递实例,我将如何实现?如果我想传递实例,我将如何实现?如果我想传递实例,我将如何实现?是的,这非常有效。我之所以希望将其放在单独的类中,是因为我的FSM状态将变得非常庞大,我不想将它们放在一个庞大的、难看的类中。@user255919让代码变得不那么难看远不止是把它放在几个类中。但我记得我的第一个项目是大规模的单一课程,然后是几个课程,然后是更有意义的课程。我鼓励你继续阅读别人的代码并练习,这样你就可以正确地学习form@user255919另外,由于您是新来的,我会注意到,当响应解决了您的问题时,您可以通过单击它旁边的复选框将其标记为答案。当你问别人想找到答案的问题时,它会变得很有用。是的,它非常有效。我之所以希望将其放在单独的类中,是因为我的FSM状态将变得非常庞大,我不想将它们放在一个庞大的、难看的类中。@user255919让代码变得不那么难看远不止是把它放在几个类中。但我记得我的第一个项目是大规模的单一课程,然后是几个课程,然后是更有意义的课程。我鼓励你继续阅读别人的代码并练习,这样你就可以正确地学习form@user255919另外,由于您是新来的,我会注意到,当响应解决了您的问题时,您可以通过单击它旁边的复选框将其标记为答案。当你问其他人想找到答案的问题时,它会变得很有用