Silverlight Framework没有得Enum.GetValues方法

为啥这么常用的方法在Silverlight里居然没有呢?自己写一个:

using System;
using System.Linq;

namespace SampleApp
{
    
public class EnumHelper
    {
        
public static T[] GetValues<T>()
        {
            Type type 
= typeof(T);

            
if (!type.IsEnum)
            {
                
throw new InvalidOperationException("Type parameter T should be an enum");
            }

            var fields 
= type.GetFields().Where(fi => fi.IsLiteral);
            
return fields.Select(fi => (T)fi.GetValue(type)).ToArray();
        }
    }
}
posted @ 2012-09-29 13:33  遥望星空  阅读(314)  评论(0编辑  收藏  举报