Reflection C#

//CruiseControl is open source software and is developed and maintained by a group of dedicated volunteers. 
//CruiseControl is distributed under a BSD-style license.
//http://cruisecontrol.sourceforge.net/
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
namespace ThoughtWorks.CruiseControl.Core.Util
{
    /// 
    /// Class with handy stirng routines
    /// 

    public class StringUtil
    {
        public static string IntegrationPropertyToString(object value)
        {
            string DEFAULT_DELIMITER = ",";
            return IntegrationPropertyToString(value, DEFAULT_DELIMITER);
        }
        public static string IntegrationPropertyToString(object value, string delimiter)
        {
            if (value == null)
                return null;
            if ((value is string) || (value is int) || (value is Enum))
                return value.ToString();
            if (value is ArrayList)
            {
                string[] tmp = (string[])((ArrayList)value).ToArray(typeof(string));
                if (tmp.Length <= 1)
                    return string.Join(string.Empty, tmp);
                return string.Format("\"{0}\"", string.Join(delimiter, tmp));
            }
            throw new ArgumentException(
                string.Format("The IntegrationProperty type {0} is not supported yet", value.GetType()), "value");
        }
   }
}