Установка целого числа для переменной enum - PullRequest
0 голосов
/ 25 февраля 2011

У меня есть это перечисление:

public enum IndexType : int
    {
        /// <summary>
        /// The value has not been set.
        /// </summary>
        NotSet = 0,
        /// <summary>
        /// No description available.
        /// </summary>
        _1moUSDLIBORBBA = 1,
        /// <summary>
        /// No description available.
        /// </summary>
        _12moUSDLIBORBBA = 71,
        /// <summary>
        /// No description available.
        /// </summary>
        _3moUSDLIBORBBA = 12,
        /// <summary>
        /// No description available.
        /// </summary>
        _6moUSDLIBORBBA = 13,
        /// <summary>
        /// No description available.
        /// </summary>
        USDPRIMEH15 = 1896,
        /// <summary>
        /// No description available.
        /// </summary>
        USDSIFMAMunicipalSwapIndex = 3,
    }

Я хочу создать переменную этого типа enum и установить ее равной целому числу, например:

Data.Indications.IndexType indexType = sm.FloatingComponent.IndexID.Value;

Это не компилируется, хотя. Как бы я это сделал?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2011

Если вы не уверены, какие значения получены из IndexID, используйте этот код:

        if (sm.FloatingComponent.IndexID.HasValue && Enum.IsDefined(typeof(Data.Indications.IndexType),sm.FloatingComponent.IndexID.Value))
        {
            Data.Indications.IndexType indexType = (Data.Indications.IndexType)sm.FloatingComponent.IndexID.Value;
        }
        else
        {
            Data.Indications.IndexType indexType = IndexType.NotSet; 
        }
0 голосов
/ 25 февраля 2011

Перечисления в C # позволяют приводить к и от int.Предполагая, что IndexID.Value является целым числом, оно просто:

Data.Indications.IndexType indexType = (Chatham.Web.Data.Indications.IndexType)sm.FloatingComponent.IndexID.Value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...