如何在c#中声明类型

时间:2011-11-02 14:34:08

标签: c# class

我不确定我要找的是什么名字正确!

我要做的是创建一个更新状态栏文本的方法,如果是错误消息则将其颜色设置为红色,如果是成功消息则将其设置为绿色:

public void UpdateStatus(string message, MessageType type)
{
      if(type == MessageType.Error)
      {
           statusText.Text = message;
           statusText.ForeColor = Color.Red;
      }

      if(type == MessageType.Success)
      {
           statusText.Text = message;
           statusText.ForeColor = Color.Green;
      }
}

这是MessageType

public class MessageType
{
    class Error
    {
       //What to do here?
    }

    class Success
    {
        //What to do here?
    }
}

那么如何定义这个MessageType类,以及如何调用它?接口?枚举?什么?

感谢。

PS:我知道我可以使用Color作为我写的UpdateStatus方法的第二个参数,但我想学习如何让它像我说的那样

7 个答案:

答案 0 :(得分:5)

您正在尝试制作enum type

public enum MessageType {
    Success,
    Error
}

答案 1 :(得分:3)

我认为你只需要一个enum

public enum MessageType { Error, Success }

然后您的if(type == MessageType.Error)才有用。

答案 2 :(得分:1)

在这种情况下,你正在寻找一个枚举:

public enum MessageStatus
{
  Failure,
  Success
}

答案 3 :(得分:1)

你可能想要一个枚举:

public enum MessageType
{
    Error,
    Success
}

然后在使用枚举的代码中,你会做类似的事情:

if (msg == MessageType.Error)
    // show error info
else
    // show success info

答案 4 :(得分:1)

public enum MessageType {Error, Success};

答案 5 :(得分:1)

我认为你想要一个枚举应该像

public enum MessageType { Error, Success };

查看http://msdn.microsoft.com/en-us/library/sbbt4032(v=vs.71).aspx了解更多信息。

答案 6 :(得分:1)

如果您决定使用枚举,请使用:

public enum MessageType
{
    Failure,
    Success
}

...然后你可以使用switch-case处理它,如下所示:

public void UpdateStatus(string message, MessageType type)
{
   statusText.Text = message;

   switch (type)
   {
       case MessageType.Error:
           statusText.ForeColor = Color.Red;
           break;

      case MessageType.Success:
           statusText.ForeColor = Color.Green;
           break;
   }
}
相关问题