1.新建一個控制檯程序 名稱:ConsoleApplication5
2新建一個IName有接口寫一個 ShowName()方法
namespace ConsoleApplication5
{
/// <summary>
/// IName 的摘要說明。
/// </summary>
public interface IName
{
void ShowName();
}
}
3寫一個 ChineseName 類並繼承 IName 實現 ShowName()方法
namespace ConsoleApplication5
{
/// <summary>
/// ChineseName 的摘要說明。
/// </summary>
public class ChineseName:IName
{
IName 成員
}
}
4.寫一個 EnglishName 類 並繼承 IName 實現 ShowName()方法
namespace ConsoleApplication5
{
/// <summary>
/// EnglishName 的摘要說明。
/// </summary>
public class EnglishName:IName
{
IName 成員
}
}
5.再寫一個 AbstractFactory類用於反射 [引入:System.Reflection;命名空間]
using System.Reflection;
namespace ConsoleApplication5
{
/// <summary>
/// AbstractFactory 的摘要說明。
/// </summary>
public class AbstractFactory
{
public static IName GetName()
{
string str="ConsoleApplication5.ChineseName";
IName name=(IName)Assembly.Load("ConsoleApplication5").CreateInstance(str);
return name;
}
}
}
6.最後在主程序中調用
namespace ConsoleApplication5
{
/// <summary>
/// Class1 的摘要說明。
/// </summary>
class Class1
{
/// <summary>
/// 應用程序的主入口點。
/// </summary>
[STAThread]
static void Main(string[] args)
{
IName name=AbstractFactory.GetName();
name.ShowName();
}
}
}