从 switch 语句 C# 中访问多个变量

Access multiple Variables from within a switch statement C#

美好的一天, 我需要一些帮助。

我目前正在尝试创建一个程序来访问 EmailHandler。我正在写。

在所述程序中,有多个“插件”应用程序可以访问同一个处理程序,但要发送的主题和正文不同。

我目前在这样的 Switch 语句中得到它。

           switch (mainMenu.SelectedApplication)
            {
                case "Application1":
                    {
                        LogHandler.Log(LogTarget.File, "Selected Application: Application 1 Queued");
                        string SUBJECT = "blah blah";

                        string BODY = "blah blah";
                    }
                    break;
                case "Application2":
                    {
                        LogHandler.Log(LogTarget.File, "Selected Application: Application 2 Queued");
                        string SUBJECT = "blah blah";

                        string BODY = "blah blah";
                    }
                    break;
                case "Application3":
                    {
                        LogHandler.Log(LogTarget.File, "Selected Application: Application 3 Queued");

                        string SUBJECT = "blah blah";

                        string BODY = "blah blah";
                    }
                    break;
            }

然后我得到了通过的应用程序的名称 SelectedApplication = "Application1"; 等..

一切正常。当我让 LogHandler 喷出所选案例中的信息时

但是当我尝试从所选案例中获取数据时

我得到 > 名称 'SUBJECT' 在当前上下文中不存在

当我尝试时

MailMessage message = new MailMessage();

message.Subject = SUBJECT;
message.Body = BODY;

etc

我对 C# 还是很陌生,所以请原谅我 obvious 的回答。

将 SUBJECT 和 BODY 移出开关

    string SUBJECT = string.Empty;
    string BODY = string.Empty;

    switch (mainMenu.SelectedApplication)
    {
        case "Application1":

          LogHandler.Log(LogTarget.File, "Selected Application: Application 1 Queued");

                 SUBJECT = "blah blah";

                 BODY = "blah blah";
            
       ....
    }