如何让方法在类中调用另一个方法? [英] How to make method call another one in classes?

查看:25
本文介绍了如何让方法在类中调用另一个方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

现在我有两个类 allmethods.cscaller.cs.

Now I have two classes allmethods.cs and caller.cs.

我在 allmethods.cs 类中有一些方法.我想在 caller.cs 中编写代码,以便调用 allmethods 类中的某个方法.

I have some methods in class allmethods.cs. I want to write code in caller.cs in order to call a certain method in the allmethods class.

代码示例:

public class allmethods
public static void Method1()
{
    // Method1
}

public static void Method2()
{
    // Method2
}

class caller
{
    public static void Main(string[] args)
    {
        // I want to write a code here to call Method2 for example from allmethods Class
    }
}

我怎样才能做到这一点?

How can I achieve that?

推荐答案

因为 Method2 是静态的,你所要做的就是这样调用:

Because the Method2 is static, all you have to do is call like this:

public class AllMethods
{
    public static void Method2()
    {
        // code here
    }
}

class Caller
{
    public static void Main(string[] args)
    {
        AllMethods.Method2();
    }
}

如果它们在不同的命名空间中,您还需要在 using 语句中将 AllMethods 的命名空间添加到 caller.cs.

If they are in different namespaces you will also need to add the namespace of AllMethods to caller.cs in a using statement.

如果你想调用一个实例方法(非静态),你需要一个类的实例来调用该方法.例如:

If you wanted to call an instance method (non-static), you'd need an instance of the class to call the method on. For example:

public class MyClass
{
    public void InstanceMethod() 
    { 
        // ...
    }
}

public static void Main(string[] args)
{
    var instance = new MyClass();
    instance.InstanceMethod();
}

更新

从 C# 6 开始,您现在还可以通过 using static 指令更优雅地调用静态方法来实现这一点,例如:

As of C# 6, you can now also achieve this with using static directive to call static methods somewhat more gracefully, for example:

// AllMethods.cs
namespace Some.Namespace
{
    public class AllMethods
    {
        public static void Method2()
        {
            // code here
        }
    }
}

// Caller.cs
using static Some.Namespace.AllMethods;

namespace Other.Namespace
{
    class Caller
    {
        public static void Main(string[] args)
        {
            Method2(); // No need to mention AllMethods here
        }
    }
}

进一步阅读

这篇关于如何让方法在类中调用另一个方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆