private static string GetNames(Assembly assembly, Type baseType, out int count)
{
var distributions = assembly.GetTypes().Where(p =>
baseType.IsAssignableFrom(p) && !p.IsAbstract && !p.IsInterface);
var list = new List<String>();
foreach (Type type in distributions)
list.Add(type.Name.Replace("Distribution", ""));
count = list.Count;
return String.Join(", ", list.ToArray());
}