【发布时间】:2014-12-03 22:20:53
【问题描述】:
我有一个基类和一个继承子类。
基类构造函数接受我不想从子构造函数传递的参数。
参数是通用的List<MyInterface>
用 C# 可以吗?
目前我的子类构造函数如下所示:
public ChildClass() : base (new List<MyInterface>());
有没有更好的方法而无需更新列表?
【问题讨论】:
-
要么在基类中定义无参数构造函数,要么将 null/new List 传递给基类构造函数。
-
引入一个强制性参数然后解决它的必要性可能暗示设计错误。
-
但是 null 参数只有在基类逻辑允许的情况下才有效
-
如果您显示更多的基类和子类,可能会提出更好的解决方案。例如,也许您应该引入一个接口,您的基类和子类都实现了该接口 - 然后您的子类将不会从基类继承。
标签: c#