开发者

Main method entry point with string argument gives "does not contain ... suitable ... entry point" error

开发者 https://www.devze.com 2022-12-17 13:10 出处:网络
Why does the code block below give a compile error of \"does not contain a static \'Main\'开发者_运维技巧 method suitable for an entry point\"?

Why does the code block below give a compile error of "does not contain a static 'Main'开发者_运维技巧 method suitable for an entry point"?

namespace MyConApp
{
    class Program
    {
        static void Main(string args) 
        {
            string tmpString; 
            tmpString = args;
            Console.WriteLine("Hello" + tmpString);
        }
    }
}


In the code you provide the problem is that the 'Main' entry point is expecting a array of strings passed from system when the program is invoked (this array can be null, has no elements)

to correct change

static void Main(string args) 

to

static void Main(string[] args) 

You could get the same error if you declared your 'Main' of any type other than 'void' or 'int'

so the signature of the 'Main' method has always to be

static // ie not dynamic, reference to method must exist
public // ie be accessible from the framework invoker
Main   // is the name that the framework invoker will call

string[] <aName> // can be ommited discarding CLI parameters
* is the command line parameters space break(ed)

From MS (...) The Main method can use arguments, in which case, it takes one of the following forms:

static int Main(string[] args)
static void Main(string[] args)


Because the argument is String and not a String Array as expected


See this to understand Main method signature options.


The only valid signatures for Main method are :

static void Main()

and

static void Main(string[])

static void Main(string) is not a valid signature for Main method.


The signature of the main method must be main(String[]), not main(String).

0

精彩评论

暂无评论...
验证码 换一张
取 消