控制台应用程序的多个重载方法,main 有一个入口点。需要解决

multiple overload methods for console app, main has one entry point. need work around

我正在尝试编写一个具有多种方法的控制台应用程序(希望我的术语是正确的,这是新的),所以我可以使用 3 个参数(字符串、字符串、整数)和/或两个参数(字符串诠释)。我打算写两个方法...但是 Main 只能有一个入口点。那么我怎样才能使这项工作呢?想知道是否有人知道解决此问题的技术,也许是我可以效仿的最佳实践。

目前,按照您描述的方式,这是不可能的。 但是,您可以尝试一些解决方法。您可以使用一个带有 string[] 作为参数的主方法,然后自己进行解析,根据您收到的参数调用正确的方法(这对于您描述的非常简单的情况很好,但不推荐对于更复杂的情况),或者您可以让图书馆为您完成艰苦的工作。

我建议尝试 System.CommandLine 来处理更复杂的情况,因为它会为您处理解析逻辑并调用您的方法,这可能是您最接近实际情况的方法之后。

Main 方法(入口点)有一个 string[] 类型的参数(字符串数组)。 您可以根据需要传递任意数量的参数。例如,如果你想传递三个参数,你可以这样做 C:\ConsoleApplication1 arg1 arg2 arg3

namespace ConsoleApplication1
    {
        class Program
        {    
            static void Main(string[] args)
            {    
               if(args.Length == 3)
               {
                  //process your three parameters
                  var parameter1 = args[0];
                  var parameter2 = args[1];
                  var parameter3 = args[2];
               }
               else 
               {
                  //process for example 2 parameters
               }
            }
        }
    }

出于调试目的,您可以在调试选项卡中定义参数,如图所示。