public T Create(string providerName) { Activator.CreateInstance<T>(); }
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Person p = new ClassFactory<Person>().Create(""); Response.Write(p.Name); }
}class Person { public string Name = "WJS"; };public class ClassFactory<T> { public ClassFactory() { } public T Create(string providerName) { return Activator.CreateInstance<T>(); } }
参考 使用反射生成一个窗体的例子: Assembly assm = Assembly.LoadFrom("e:\\WindowsApplication.dll"); Type TypeToLoad= assm.GetType("WindowsApplication.Form1");
{
Activator.CreateInstance<T>();
}
{
protected void Page_Load(object sender, EventArgs e)
{
Person p = new ClassFactory<Person>().Create("");
Response.Write(p.Name);
}
}class Person
{
public string Name = "WJS";
};public class ClassFactory<T>
{
public ClassFactory()
{
} public T Create(string providerName)
{
return Activator.CreateInstance<T>();
}
}
使用反射生成一个窗体的例子:
Assembly assm = Assembly.LoadFrom("e:\\WindowsApplication.dll");
Type TypeToLoad= assm.GetType("WindowsApplication.Form1");
object obj;
obj = Activator.CreateInstance(TypeToLoad);
Form formToShow = null;
formToShow = (Form)obj;
formToShow.Show();