You should consider using dependency injection, such as MEF or Unity. But for something very simple and dirty you could do as follows:
namespace Business_Layer
{
using System;
class SSN
{
public SSN()
{
Console.WriteLine(GetType().Name);
}
}
class ZipCode
{
public ZipCode()
{
Console.WriteLine(GetType().Name);
}
}
class First_Name
{
public First_Name()
{
Console.WriteLine(GetType().Name);
}
}
class Phone
{
public Phone()
{
Console.WriteLine(GetType().Name);
}
}
}
namespace ConsoleApplication2
{
using System;
using System.Linq;
using System.Reflection;
class Program
{
static void Main(string[] args)
{
var myTypes = Assembly.GetExecutingAssembly().GetTypes().Where(x => x.Namespace == "Business_Layer");
foreach (var type in myTypes)
{
Frames.Add(Activator.CreateInstance(type));
}
}
}
}
Output:
SSN<br />
ZipCode<br />
First_Name<br />
Phone<br />
Press any key to continue . . .