Skip to content

Extend EnumConverter to use EnumMemberAttribute #417

@jkonecki

Description

@jkonecki

EnumConverter is internally using Enum.Parse method that assumes that the parsed value matches the name of the enum value.

System.Runtime.Serialization has an EnumMemberAttribute (https://docs.microsoft.com/en-us/dotnet/api/system.runtime.serialization.enummemberattribute) that can be used to decorate each field and specify a different value:

public enum Position
{
    [EnumMember(Value = "Emp")]
    Employee,
    [EnumMember(Value = "Mgr")]
    Manager,
    [EnumMember(Value = "Ctr")]
    Contractor
}

This allows for easy definition of mapings between 'proper' names of enum options and the actual string values that will be serialized.

I would like to extend EnumConverter to utilize the EnumMemberAttribute during conversion.

Please let me know if you would be interested in my PR for this change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions