【发布时间】:2017-08-27 09:21:22
【问题描述】:
我有以下课程:
public class Base
{
private int x;
public Base(int _x) { x = _x; }
}
public class Derived : Base
{
int y;
public Derived(int _x,int _y) : base(_x) { y = _y; }
}
我想创建一个假的“派生”对象,但要调用原始构造函数并忽略基本构造函数。 我该怎么做?
【问题讨论】:
-
伪造派生类是什么意思?你想做什么?
-
你不能。派生类总是需要显式调用基类构造函数,如您的情况,或者如果基类具有默认构造函数,则隐式调用。
-
退后一步,向我们解释您真正的潜在业务问题。你认为你为什么需要这个?
-
我有一个无法更改的基类。我想伪造“派生”对象方法,但调用构造函数的原始实现,并忽略对基本构造函数的调用。
标签: c# unit-testing mocking