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();
        }
    }
}

你可能感兴趣的:(silverlight)