12113

[code]

    public enum enumMessageType
    {
        mtA, mtB, mtC, mtD
    }
    public class Controller
    {
        private device devices[];
        public device getDeviceFromEnum(enumMessageType mt)
        {
            switch (mt)
            {
                case mtA: <-ここ
                    return devices[0];
            (後略)
    
[/code]

「ここ」で「名前 'mtA' は現在のコンテキスト内に存在しません。」とエラーがでます。  
ぐぐってみたのですが、似たようなものはありませんでした。

よろしくお願いします。


CC BY-SA 3.0
2015-07-07T07:02:03.757
12112
2015-07-07T07:22:23.410
2015-07-07T07:13:00.847
8000
9674
question
c#
C# 「現在のコンテキストに存在しません。」


C言語等と異なり、C# の列挙型は型名を付ける必要があります。  
(C++11 には enum class がありますが)

[code]

    public enum MessageType
    {
        A, B, C, D
    }
    
    public class Controller
    {
        private device devices[];
        public device GetDeviceFromEnum(MessageType mt)
        {
            switch (mt)
            {
                case MessageType.A:
                    return devices[0];
            (後略)
    
[/code]

[列挙型 - C# によるプログラミング入門 | ++C++; // 未確認飛行
C](http://ufcpp.net/study/csharp/st_enum.html)


CC BY-SA 3.0
2015-07-07T07:22:23.410
12113
2015-07-07T07:22:23.410
8000
12112
answer