AntTweakBar.Tw.DefineEnum C# (CSharp) Метод

DefineEnum() публичный статический Метод

This function creates a new variable type corresponding to an enum.
public static DefineEnum ( String name, String>.IDictionary labels ) : VariableType
name String Specify a name for the enum type (must be unique).
labels String>.IDictionary A mapping from admissible values to their labels.
Результат VariableType
        public static VariableType DefineEnum(String name, IDictionary<Int32, String> labels)
        {
            if (name == null) {
                throw new ArgumentNullException("name");
            } else if (labels == null) {
                throw new ArgumentNullException("labels");
            }

            var values = new List<NativeMethods.EnumVal>();

            try
            {
                foreach (var kv in labels) {
                    values.Add(new NativeMethods.EnumVal(kv.Key, Helpers.PtrFromStr(kv.Value)));
                }

                VariableType enumType = NativeMethods.TwDefineEnum(name, values.ToArray(), (uint)values.Count);

                if (enumType == VariableType.Undefined) {
                    throw new AntTweakBarException("TwDefineEnum failed.");
                }

                return enumType;
            }
            finally
            {
                foreach (var value in values) {
                    Marshal.FreeCoTaskMem(value.Label);
                }
            }
        }