Возможно глупый вопрос. Можно ли преобразовать один enum в другой? К пример
Namespace1.Enum1 a = Namespace1.Enum1.Value1.
Namespace2.Enum1 b = (Namespace2.Enum1)a.
Если да, то при каких условия, распишите пожалуйста
Можно. Предположим у вас два перечисления.
enum Enum1
{
AA,
BB,
CC
}
enum Enum2
{
AA,
BB
}
Для преобразования вы сначала должны получить имя элемента первого перечисления и с помощью Enum.Parse() преобразовать во второй.
// Предположим это элемент первого Enum1
Enum1 first = Enum1.AA;
// Получаем его имя в строковом формате
string firstName = first.ToString();
// try нужен в случае, если во втором перечислении отсутствует элемент из первого (например Enum1.CC)
try
{
// Преобразуем во второй Enum2
Enum2 second = (Enum2)Enum.Parse(typeof(Enum2), firstName);
}
catch { }
Или можно парсить с помощью TryParse.
if (Enum.TryParse(firstName, out Enum2 result))
{
// Тут код в случае, если получилось преобразовать
// Результатом является result
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости