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