Наиболее подходящий способ определения перечислений как строк, чтобы сделать данные JSON более читабельными для человекаC#

Место общения программистов C#
Anonymous
Наиболее подходящий способ определения перечислений как строк, чтобы сделать данные JSON более читабельными для человека

Сообщение Anonymous »

Я ищу наиболее подходящий способ определения строковых перечислений (??) в C#, чтобы сделать формат JSON более удобным для чтения человеком: вместо передачи целочисленных значений для перечислений передайте реальную строку.Для справки: я сделал это в Python: это довольно просто, но в C# это не так:
в Python я могу сделать это:
определить мои перечисления:

Код: Выделить всё

from enum import Enum
class AgeUnits(str, Enum):
DAYS = "Days"
WEEKS = "Weeks"
MONTHS = "Months"
YEARS = "Years"
Определите мою модель, включая значения dfefault:

Код: Выделить всё

from pydantic import BaseModel, Fields
class AgeInfo(BaseModel):
age: int  = Field(5)
age_units: AgeUnits = Field(AgeUnits.YEARS, alias="ageUnits")
Затем я могу принять удобочитаемое значение для единиц возраста «годы» в Json и получить AgeUnits.WEEKS в модели после десериализации:

Код: Выделить всё

{
"age": 10,
"ageUnits": "Weeks"
}
Кажется, гораздо удобнее работать с "AgeUnits":2 в Json.
Как мне сделать что-то подобное в С#?

Подробнее здесь: https://stackoverflow.com/questions/784 ... re-human-r

Вернуться в «C#»