泛型类引用有参数的构造函数方法,请大家帮忙对比。

离子漂浮物 2008-07-15 04:25:44
代码一:

//抽象
public abstract class a
{
public a(string name) { }
public abstract void run();
}
//抽象继承
public class aa : a
{
private string _name;
public aa(string name) : base(name) { _name = name; }
public override void run() { HttpContext.Current.Response.Write(_name); }
}
//泛型应用
protected a testA<T>() where T : a
{
return (T)Activator.CreateInstance(typeof(T), "newName");
}



代码二:

//抽象
public abstract class b
{
public abstract void load(string name);
public abstract void run();
}
//抽象继承
public class bb : b
{
private string _name;
public override void load(string name) { _name = name; }
public override void run() { HttpContext.Current.Response.Write(_name); }
}
//泛型应用
protected b testB<T>() where T : b,new()
{
T t = new T(); t.load("loadName");
return t;
}


我是用上以两种方法来应用有“参数”的构建类。
第一种是用“Activator.CreateInstance”来创建带参数构建的类。
第二种是用了一个load的方法来代替构建函数,作成了伪参数构建类。

作为正式使用,想请大家帮我点评一下哪种方式比较好比较节约资源。或是有更好的实现方法。
...全文
290 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
GhostAdai 2008-07-28
  • 打赏
  • 举报
回复
同意,用第二种!
bindsang 2008-07-20
  • 打赏
  • 举报
回复
性能上来说,第二种好些,第一种用到了反射,性能会有折扣的,尤其是在web程序上更明显
fuadam 2008-07-15
  • 打赏
  • 举报
回复
第二种

或者改成工厂模式就完了

111,044

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧