У меня есть веб-сервис, который возвращает объект JSON, содержащий строковый массив. Я обработал объект через Json.NET:
public partial class Token
{
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("permissions")]
public string[] Permissions { get; set; }
}
Я хотел бы преобразовать строковый массив Permissions
в Enum и сохранить полученную битовую маску в столбец BLOB в базе данных sqlite. У меня есть Enum, построенный так:
[Flags]
public enum Rights : uint
{
none= 0,
read = 1,
write = 2,
modify = 4,
[... etc ...]
}
Как правильно разбить массив строк в битовую маску (int) для хранения в базе данных?
То, что я буду делать, - это извлечь битовую маску из базы данных, а затем использовать .HasFlag, чтобы определить, было ли предоставлено соответствующее разрешение в токене.
Я также открыт для лучших способов сделать это.