这次我们通过传递参数和定义接口的方式来创建实例
namespace Interface
{
public interface IObjcet
{
void Put();
void Put(string plus);
}
}
using System;
namespace NetStar.Biz
{
public class PlugPut : Interface.IObjcet
{
private string plugName = "";
public string PlugName
{
get { return plugName; }
set { plugName = value; }
}
public PlugPut() { }
public PlugPut(string plusName)
{
this.PlugName = plusName;
}
public void Put()
{
Console.WriteLine("Default plug value is:" + plugName);
}
public void Put(string plus)
{
Console.WriteLine("Put plus value is:" + plus);
}
}
}
static void Main(string[] args)
{
Console.WriteLine("");
Test1();
Console.ReadLine();
}
static void Test1()
{
Type t = Type.GetType("NetStar.Biz.PlugPut,NetStar.Biz");
//用Activator.CreateInstance创建默认的不带参数的构造函数
IObjcet obj = (IObjcet)Activator.CreateInstance(t, null);
obj.Put();
obj.Put("plug 1");
//用Activator.CreateInstance创建另一个带参数构造函数实例
IObjcet obj2 = (IObjcet)Activator.CreateInstance(t, new string[] { "Hello world!" });
obj2.Put();
obj.Put("plug 2");
}