From 5956ddf6e72ad0bb9fc43f82ef54d584bdf65a9c Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Sun, 5 Jul 2020 17:30:08 -0700 Subject: Avoid Enum.ToString() by storing enums as integers --- src/WixToolset.Data/Symbols/WixComplexReferenceSymbol.cs | 12 ++++++------ src/WixToolset.Data/Symbols/WixGroupSymbol.cs | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/WixToolset.Data/Symbols/WixComplexReferenceSymbol.cs b/src/WixToolset.Data/Symbols/WixComplexReferenceSymbol.cs index 89365605..3db9bcd5 100644 --- a/src/WixToolset.Data/Symbols/WixComplexReferenceSymbol.cs +++ b/src/WixToolset.Data/Symbols/WixComplexReferenceSymbol.cs @@ -11,10 +11,10 @@ namespace WixToolset.Data new[] { new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.Parent), IntermediateFieldType.String), - new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.ParentAttributes), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.ParentAttributes), IntermediateFieldType.Number), new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.ParentLanguage), IntermediateFieldType.String), new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.Child), IntermediateFieldType.String), - new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.ChildAttributes), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.ChildAttributes), IntermediateFieldType.Number), new IntermediateFieldDefinition(nameof(WixComplexReferenceSymbolFields.Attributes), IntermediateFieldType.Bool), }, typeof(WixComplexReferenceSymbol)); @@ -55,8 +55,8 @@ namespace WixToolset.Data.Symbols public ComplexReferenceParentType ParentType { - get => (ComplexReferenceParentType)Enum.Parse(typeof(ComplexReferenceParentType), (string)this.Fields[(int)WixComplexReferenceSymbolFields.ParentAttributes], true); - set => this.Set((int)WixComplexReferenceSymbolFields.ParentAttributes, value.ToString()); + get => (ComplexReferenceParentType)this.Fields[(int)WixComplexReferenceSymbolFields.ParentAttributes].AsNumber(); + set => this.Set((int)WixComplexReferenceSymbolFields.ParentAttributes, (int)value); } public string ParentLanguage @@ -73,8 +73,8 @@ namespace WixToolset.Data.Symbols public ComplexReferenceChildType ChildType { - get => (ComplexReferenceChildType)Enum.Parse(typeof(ComplexReferenceChildType), (string)this.Fields[(int)WixComplexReferenceSymbolFields.ChildAttributes], true); - set => this.Set((int)WixComplexReferenceSymbolFields.ChildAttributes, value.ToString()); + get => (ComplexReferenceChildType)this.Fields[(int)WixComplexReferenceSymbolFields.ChildAttributes].AsNumber(); + set => this.Set((int)WixComplexReferenceSymbolFields.ChildAttributes, (int)value); } public bool IsPrimary diff --git a/src/WixToolset.Data/Symbols/WixGroupSymbol.cs b/src/WixToolset.Data/Symbols/WixGroupSymbol.cs index b9720890..babcff23 100644 --- a/src/WixToolset.Data/Symbols/WixGroupSymbol.cs +++ b/src/WixToolset.Data/Symbols/WixGroupSymbol.cs @@ -11,9 +11,9 @@ namespace WixToolset.Data new[] { new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ParentId), IntermediateFieldType.String), - new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ParentType), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ParentType), IntermediateFieldType.Number), new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ChildId), IntermediateFieldType.String), - new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ChildType), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixGroupSymbolFields.ChildType), IntermediateFieldType.Number), }, typeof(WixGroupSymbol)); } @@ -51,8 +51,8 @@ namespace WixToolset.Data.Symbols public ComplexReferenceParentType ParentType { - get => (ComplexReferenceParentType)Enum.Parse(typeof(ComplexReferenceParentType), (string)this.Fields[(int)WixGroupSymbolFields.ParentType], true); - set => this.Set((int)WixGroupSymbolFields.ParentType, value.ToString()); + get => (ComplexReferenceParentType)this.Fields[(int)WixGroupSymbolFields.ParentType].AsNumber(); + set => this.Set((int)WixGroupSymbolFields.ParentType, (int)value); } public string ChildId @@ -63,8 +63,8 @@ namespace WixToolset.Data.Symbols public ComplexReferenceChildType ChildType { - get => (ComplexReferenceChildType)Enum.Parse(typeof(ComplexReferenceChildType), (string)this.Fields[(int)WixGroupSymbolFields.ChildType], true); - set => this.Set((int)WixGroupSymbolFields.ChildType, value.ToString()); + get => (ComplexReferenceChildType)this.Fields[(int)WixGroupSymbolFields.ChildType].AsNumber(); + set => this.Set((int)WixGroupSymbolFields.ChildType, (int)value); } } } \ No newline at end of file -- cgit v1.2.3-55-g6feb