Enum.GetNames in .NET Compact Framework 3.5

The following provides a helper to provide Enum.GetNames functionality for .NET Compact Framework 3.5 using LINQ and Reflection:

using System
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Reflection;

namespace MyApp.Helpers
{    

    public static class EnumHelper
    {
        public static string[] GetNames(Type enumType)
        {
            FieldInfo[] fieldInfo = enumType.GetFields(BindingFlags.Static  BindingFlags.Public);
            returnfieldInfo.Select(f => f.Name).ToArray();
        }
    }
}

The enum we will use for the example:

namespace MyAPP
{    
    public enum DeliveryMethod { SMS = 0, Service, Email };  
}

Usage:

public void Test()
{               
    foreach ( string name in EnumHelper.GetNames( typeof (DeliveryMethod)))    
    {        
        MessageBox.Show(name);                  
    }
}

ABN Validation in C#

Helper Class for ABN Validation follows as per ATO rules found

        public static class ABNValidationHelper
        {
            //http://www.ato.gov.au/businesses/content.asp?doc=/content/13187.htm&pc=001/003/021/002/001&mnu=610&mfp=001/003&st=&cy=1       
            //1. Subtract 1 from the first (left) digit to give a new eleven digit number       
            //2. Multiply each of the digits in this new number by its weighting factor       
            //3. Sum the resulting 11 products       
            //4. Divide the total by 89, noting the remainder       
            //5. If the remainder is zero the number is valid        
            public static bool ValidateABN(string abn)
            {
                bool isValid = true; int[] weight = { 10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 }; int weightedSum = 0;
                //0. ABN must be 11 digits long                       
                if (isValid &= (!string.IsNullOrEmpty(abn) && Regex.IsMatch(abn, @"^\d{11}$")))
                {
                    //Rules: 1,2,3                                
                    for (int i = 0; i < weight.Length; i++) { weightedSum += (int.Parse(abn[i].ToString()) - ((i == 0) ? 1 : 0)) * weight[i]; }
                    //Rules: 4,5               
                    isValid &= ((weightedSum % 89) == 0);
                } return isValid;
            }
        }