C# 如何将函数从另一个类调用到主类

C# 如何将函数从另一个类调用到主类,c#,function,class,C#,Function,Class,我创建了另一个类(计算),并在其中创建了一个函数,用于检查数字是偶数还是奇数。我想在我的程序类中调用这个函数,这样它就可以检查变量(结果)是偶数还是奇数 我尝试调用如下方法:CheckEvenOrOdd(result) 因为您的方法位于不同的类中,所以必须将其设置为静态,然后首先按类名然后按方法名调用它。如果它不是静态的,那么在能够访问该类的任何方法之前,您必须实例化该类的新实例 (顺便说一句,你是用数字2乘以数字2,在下面提供的代码中也为你更改了它呵呵) 静态: class Program {

我创建了另一个类(计算),并在其中创建了一个函数,用于检查数字是偶数还是奇数。我想在我的程序类中调用这个函数,这样它就可以检查变量(结果)是偶数还是奇数

我尝试调用如下方法:CheckEvenOrOdd(result)


因为您的方法位于不同的类中,所以必须将其设置为静态,然后首先按类名然后按方法名调用它。如果它不是静态的,那么在能够访问该类的任何方法之前,您必须实例化该类的新实例

(顺便说一句,你是用数字2乘以数字2,在下面提供的代码中也为你更改了它呵呵)

静态:

class Program
{
    static void Main(string[] args)
    {
        int number1;
        int number2;
        int result;

        Console.Write("Enter a number: ");
        number1 = int.Parse(Console.ReadLine());

        Console.Write("Enter a second number: ");
        number2 = int.Parse(Console.ReadLine());

        result = number1 * number2;

        Console.WriteLine($"The total is: {result} ");
        Console.WriteLine("AND");

        Calculations.CheckEvenOrOdd(result);
        Console.ReadLine();
     }
}

public static class Calculations
{
    public static void CheckEvenOrOdd(int numb)
    {
        if (numb % 2 == 0)
        {
            Console.WriteLine("The number is even");
        }
        else
        {
            Console.WriteLine("The number is odd ");
        }
    }
}
非静态:

class Program
{
    static void Main(string[] args)
    {
        int number1;
        int number2;
        int result;

        Console.Write("Enter a number: ");
        number1 = int.Parse(Console.ReadLine());

        Console.Write("Enter a second number: ");
        number2 = int.Parse(Console.ReadLine());

        result = number1 * number2;

        Console.WriteLine($"The total is: {result} ");
        Console.WriteLine("AND");

        Calculations calc = new Calculations();
        calc.CheckEvenOrOdd(result);
        Console.ReadLine();
     }
}

public class Calculations
{
    public void CheckEvenOrOdd(int numb)
    {
        if (numb % 2 == 0)
        {
            Console.WriteLine("The number is even");
        }
        else
        {
            Console.WriteLine("The number is odd ");
        }
    }
}

哦,孩子。我们从哪里开始。您不能仅仅通过调用另一个类的方法的名称来访问它。但是,由于它是静态的,所以使用
计算。CheckEvenOrOdd(someNumber)
应该可以工作tho@AviMeltser在C#的最新版本中,通过适当的
使用
语句,您可以(如果是
静态的
)。@AviMeltser谢谢。如果不是静态的,我怎么做?@AntonioBuzbuchi没问题。如果不是静态的,您需要创建一个类的实例,您试图调用该类的方法。推荐阅读有关面向对象编程的书籍
class Program
{
    static void Main(string[] args)
    {
        int number1;
        int number2;
        int result;

        Console.Write("Enter a number: ");
        number1 = int.Parse(Console.ReadLine());

        Console.Write("Enter a second number: ");
        number2 = int.Parse(Console.ReadLine());

        result = number1 * number2;

        Console.WriteLine($"The total is: {result} ");
        Console.WriteLine("AND");

        Calculations calc = new Calculations();
        calc.CheckEvenOrOdd(result);
        Console.ReadLine();
     }
}

public class Calculations
{
    public void CheckEvenOrOdd(int numb)
    {
        if (numb % 2 == 0)
        {
            Console.WriteLine("The number is even");
        }
        else
        {
            Console.WriteLine("The number is odd ");
        }
    }
}