using System; using System.Linq; using System.Collections; using System.ComponentModel; public class Program { public static void Main() { var args = new string[] { "20", "40", "69" }; // var value = ConvertObjectsToArray(args); var dummy = new float[1]; var array = ConvertObjectsToArray(dummy.GetType(), args); Console.WriteLine(array); } private static IList ConvertObjectsToArray(Type arrayType, string[] args) { if (!arrayType.GetInterfaces().Contains(typeof(IList))) return null; IList arrayInstance = (IList)Activator.CreateInstance(arrayType, args.Length); Type elementType = arrayType.GetElementType(); TypeConverter typeConverter = TypeDescriptor.GetConverter(elementType); for (int i = 0; i < args.Length; i++) arrayInstance[i] = typeConverter.ConvertFromString(args[i]); return arrayInstance; } private static T ConvertObjectsToArray(string[] args) where T : IList { Type arrayType = typeof(T); T arrayInstance = (T)Activator.CreateInstance(arrayType, args.Length); Type elementType = arrayType.GetElementType(); TypeConverter typeConverter = TypeDescriptor.GetConverter(elementType); for (int i = 0; i < args.Length; i++) arrayInstance[i] = typeConverter.ConvertFromString(args[i]); return arrayInstance; } }