annotate Test/RewritingTest/EnumInit.cs @ 17:4a3115ba746d

fix CommandType enum
author riono <e165729@ie.u-ryukyu.ac.jp>
date Tue, 24 Nov 2020 03:11:50 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 using System;
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 using System.Collections.Generic;
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 using Christie_net.datagear.command;
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 public class EnumInit {
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 private static int nextId = 0;
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 public readonly int id = ++nextId;
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 public static readonly Dictionary<int, EnumInit> hash = new Dictionary<int, EnumInit>();
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 private EnumInit() {
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 hash.Add(id, this);
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 }
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 public static EnumInit GetEnumInit(int nid) {
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 return hash[nid];
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 }
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 public static readonly EnumInit Val1 = new EnumInit();
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 public static readonly EnumInit Val2 = new EnumInit();
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 public static void Main() {
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 Console.WriteLine(Val1.id);
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 Console.WriteLine(GetEnumInit(1).id);
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 }
4a3115ba746d fix CommandType enum
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 }