1

我的应用程序中有一个语音课程,希望能够查看它是在听、录音、听写还是无响应;

我想要做的是仅分配 3 个可能值中的 1 个变量(SpeechState),并对其进行检查,如下所示:

startListeningButton_Click(object sender, EventArgs e)
{
   SpeechState = SpeechState.Listening;
}

stopListeningButton_Click(object sender, EventArgs e)
{
   if(SpeechState.Listening)
   {
      // Code to STOP listening goes here.
   }
}

我尝试过实现 troolean,但这并不是我所追求的。我追求类似的东西

if(checkBox1.CheckState == CheckState.Checked)
{
   // Do something
}

我怎样才能做到这一点?

4

2 回答 2

15

你应该为此做一个枚举

public enum SpeechState
{
   Listening,
   Recording,
   Dictating,
   Unresponsive
}

然后,您可以完全按照您显示的设置使用它,但检查将是:

if(this.SpeechState == SpeechState.Listening)

根据评论进行编辑:

为了把它放在你的类上,你需要一个属性来存储它:

public class YourClass
{
     public SpeechState SpeechState { get; set; }
}

然后,您可以将类上的此属性设置为一个值。

于 2013-06-03T17:36:59.793 回答
4

使用枚举:

 public enum SpeechState
 {
     Listening,
     Recording,
     Dictating,
     Unresponsive
 }
于 2013-06-03T17:38:05.617 回答