Как итеративно рассчитать текущее средневзвешенное значение, чтобы последние значения весили больше всего?

Вы должны написать свой собственный обратный метод. Метод parse (), очевидно, не знает о ваших атрибутах описания.

Что-то вроде этого должно работать:

public static T GetEnumValueFromDescription<T>(string description)
{
    MemberInfo[] fis = typeof(T).GetFields();

    foreach (var fi in fis)
    {
        DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);

        if (attributes != null && attributes.Length > 0 && attributes[0].Description == description)
            return (T)Enum.Parse(typeof(T), fi.Name);
    }

    throw new Exception("Not found");
}

Вам нужно найти лучшее, что можно сделать чем выбросить исключение, если значение перечисления не было найдено. :) [/ Д2]

13
задан Suzan Cioc 30 March 2012 в 02:31
поделиться