C# 4.0 调用其中类的方法

C# 4.0 调用其中类的方法,c#-4.0,C# 4.0,//这种情况背后的技术原因是什么?您试图直接在类中而不是在方法中使用声明以外的语句。您希望什么时候调用该方法 基本上,一个类型中可以直接包含的只是一组声明—方法、变量、构造函数、事件、嵌套类型等。不属于声明一部分的方法调用(或任何其他语句)必须在方法、构造函数等中编写。您有一些问题。。。当您试图在类定义中调用方法obj.m1()时,这甚至不会编译 A obj = new A(); obj.m1(); // Why this code wont work??? --> This must

//这种情况背后的技术原因是什么?

您试图直接在类中而不是在方法中使用声明以外的语句。您希望什么时候调用该方法


基本上,一个类型中可以直接包含的只是一组声明—方法、变量、构造函数、事件、嵌套类型等。不属于声明一部分的方法调用(或任何其他语句)必须在方法、构造函数等中编写。

您有一些问题。。。当您试图在类定义中调用方法obj.m1()时,这甚至不会编译

A obj = new A();  
obj.m1(); // Why this code wont work??? --> This must be inside a method
创建类的实例时,它将创建一个名为obj的新成员变量,该变量是上述-->a obj=newA()的实例

现在,您将能够调用obj的方法,如第二个示例所示

此外,为了使其能够编译,您需要修复m2方法:

public void m2() { //--> should have a curly brace 
   obj.m1(); // But This will work.
}
方法调用不能是
类的一部分,而只能在声明范围内,例如方法、属性、构造函数等

例如:

public class ExampleClass
{
    private void SayHelloWorld()
    {
        Console.Writeline("Hello World!");
    }

    public void CallSayHelloWorldMethod()
    {
       this.SayHelloWorld();
    }
}
在上面的示例中,您可以看到我在
CallSayHelloWorldMethod
metod中调用了
SayHelloWorld
方法

更新:

在您的案例中,我能想到的最接近的事情是使用
,在该类中,您的方法调用将在实例化类后立即执行:

public class ExampleClass
{
    //The class constructor
    public ExampleClass()
    {
       this.SayHelloWorld();
    }

    private void SayHelloWorld()
    {
        Console.Writeline("Hello World!");
    }
}
当您实例化它时,它将立即被调用:

//Your method call will be executed here
ExampleClass exampleClass  = new ExampleClass();

回答一个问题:当方法被写入类中时,应该在什么时候执行?如果你不介意的话,你能确切地告诉我他们没有实现那个功能(方法调用语句作为类的一部分)。我指的是背后的逻辑。因为我通过理解编程的最深处来学习编程。所以我也不想知道这背后的原因。。。我相信这背后会有一个合乎逻辑的解释。@prasobkumarkp如果你的方法调用只是类定义级别的一部分,你希望什么时候执行它?我可以假设您希望在实例化类时立即执行它,为此,您应该在类的构造函数中调用它,该构造函数在使用类(对象)时立即执行。在答案中查看我的更新。