关于开关表达式的错误(必须是bool, char, string等)

本文关键字:bool char string 错误 于开关 开关 表达式 | 更新日期: 2023-09-27 18:10:58

我正在为我的程序添加语音控制功能。我的代码有一个错误,我似乎无法摆脱。语音控制将允许用户控制程序的各个方面,而无需使用鼠标或键盘。

目前,我的代码包括:

using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Text;
using System.Drawing.Printing;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using FontCombo;
using System.Speech.Recognition;
using System.Speech.Recognition.SrgsGrammar;
using Microsoft.VisualBasic;
if (voctrl.Checked == true)
        {
            vcstat.Text = "Voice Control Enabled";
            recognizer = new SpeechRecognizer();
            recognizer.SpeechDetected += recognizer_SpeechDetected;
            recognizer.SpeechRecognitionRejected += recognizer_SpeechRecognitionRejected;
            recognizer.SpeechRecognized += recognizer_SpeechRecognized;
            GrammarBuilder grammar = new GrammarBuilder();
            grammar.Append(new Choices("Cut", "Copy", "Paste", "Select All", "Print", "Deselect All", "Delete", "Save", "Save As", "Open", "New", "Close"));
            recognizer.LoadGrammar(new Grammar(grammar));
        }
        else
        {
            vcstat.Text = "Voice Control Disabled";
        }
private void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
        if (voctrl.Checked == true)
        {
            switch (e.Result.Text.ToUpper) //This is the error according to Visual Studio
            {
                case
                "Cut":
                    Clipboard.SetText(richTextBoxPrintCtrl1.SelectedRtf, TextDataFormat.Rtf);
                    richTextBoxPrintCtrl1.SelectedRtf = "";
                    break; // etc.

我试着在互联网上搜索一个解决方案,但似乎找不到一个与这个代码工作。我做错了什么?如果我很笨,我很抱歉,但我对c#和一般编程都是新手。

关于开关表达式的错误(必须是bool, char, string等)

switch表达式或case标号必须是bool、char、string、integer、enum或相应的可空类型

ToUpper应该是ToUpper()方法,您缺少括号