@joebigelow / wix / commits / 5956ddf6

Avoid Enum.ToString() by storing enums as integers

Rob Mensching committed Jul 5, 2020 at 17:30 UTC 5956ddf6e72ad0bb9fc43f82ef54d584bdf65a9c
2 files changed +12 -12
src/WixToolset.Data/Symbols/WixComplexReferenceSymbol.cs
+6 -6
@@ -11,10 +11,10 @@ namespace WixToolset.Data
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.Parent), IntermediateFieldType.String),
14 - new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.ParentAttributes), IntermediateFieldType.String),
14 + new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.ParentAttributes), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.ParentLanguage), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.Child), IntermediateFieldType.String),
17 - new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.ChildAttributes), IntermediateFieldType.String),
17 + new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.ChildAttributes), IntermediateFieldType.Number),
18 new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.Attributes), IntermediateFieldType.Bool),
19 },
20 typeof(WixComplexReferenceSymbol));
@@ -55,8 +55,8 @@ namespace WixToolset.Data.Symbols
55
56 public ComplexReferenceParentType ParentType
57 {
58 - get => (ComplexReferenceParentType)Enum.Parse(typeof(ComplexReferenceParentType), (string)this.Fields[(int)WixComplexReferenceSymbolFields.ParentAttributes], true);
59 - set => this.Set((int)WixComplexReferenceSymbolFields.ParentAttributes, value.ToString());
58 + get => (ComplexReferenceParentType)this.Fields[(int)WixComplexReferenceSymbolFields.ParentAttributes].AsNumber();
59 + set => this.Set((int)WixComplexReferenceSymbolFields.ParentAttributes, (int)value);
60 }
61
62 public string ParentLanguage
@@ -73,8 +73,8 @@ namespace WixToolset.Data.Symbols
73
74 public ComplexReferenceChildType ChildType
75 {
76 - get => (ComplexReferenceChildType)Enum.Parse(typeof(ComplexReferenceChildType), (string)this.Fields[(int)WixComplexReferenceSymbolFields.ChildAttributes], true);
77 - set => this.Set((int)WixComplexReferenceSymbolFields.ChildAttributes, value.ToString());
76 + get => (ComplexReferenceChildType)this.Fields[(int)WixComplexReferenceSymbolFields.ChildAttributes].AsNumber();
77 + set => this.Set((int)WixComplexReferenceSymbolFields.ChildAttributes, (int)value);
78 }
79
80 public bool IsPrimary
src/WixToolset.Data/Symbols/WixGroupSymbol.cs
+6 -6
@@ -11,9 +11,9 @@ namespace WixToolset.Data
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ParentId), IntermediateFieldType.String),
14 - new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ParentType), IntermediateFieldType.String),
14 + new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ParentType), IntermediateFieldType.Number),
15 new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ChildId), IntermediateFieldType.String),
16 - new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ChildType), IntermediateFieldType.String),
16 + new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ChildType), IntermediateFieldType.Number),
17 },
18 typeof(WixGroupSymbol));
19 }
@@ -51,8 +51,8 @@ namespace WixToolset.Data.Symbols
51
52 public ComplexReferenceParentType ParentType
53 {
54 - get => (ComplexReferenceParentType)Enum.Parse(typeof(ComplexReferenceParentType), (string)this.Fields[(int)WixGroupSymbolFields.ParentType], true);
55 - set => this.Set((int)WixGroupSymbolFields.ParentType, value.ToString());
54 + get => (ComplexReferenceParentType)this.Fields[(int)WixGroupSymbolFields.ParentType].AsNumber();
55 + set => this.Set((int)WixGroupSymbolFields.ParentType, (int)value);
56 }
57
58 public string ChildId
@@ -63,8 +63,8 @@ namespace WixToolset.Data.Symbols
63
64 public ComplexReferenceChildType ChildType
65 {
66 - get => (ComplexReferenceChildType)Enum.Parse(typeof(ComplexReferenceChildType), (string)this.Fields[(int)WixGroupSymbolFields.ChildType], true);
67 - set => this.Set((int)WixGroupSymbolFields.ChildType, value.ToString());
66 + get => (ComplexReferenceChildType)this.Fields[(int)WixGroupSymbolFields.ChildType].AsNumber();
67 + set => this.Set((int)WixGroupSymbolFields.ChildType, (int)value);
68 }
69 }
70 }
\ No newline at end of file