Я довольно новичок в насмешливости, так что это может быть то, что я пока еще не собираюсь, но я не могу найти хороший пример в любом месте.Макет абстрактного класса по умолчанию с Rhino
Я пытаюсь утверждать, что по умолчанию любой класс, который наследует от моего абстрактного класса, будет создавать экземпляр коллекции в конструкторе. Вот абстрактный класс:
public abstract class DataCollectionWorkflow : SequentialWorkflowActivity
{
private readonly DataSet _output = new DataSet();
private List<DataCollectionParameter> _params = null;
public DataCollectionWorkflow()
{
_params = new List<DataCollectionParameter>();
}
public virtual IList<DataCollectionParameter> Parameters
{
get { return _params; }
set { _params = (List<DataCollectionParameter>)value; }
}
}
Как я издеваться над этим с Rhino? Если я делаю GenerateMock<DataCollectionWorkflow>
(или заглушку), конструктор запускается, и частное поле mock «_params
» инициализируется, но свойство «Parameters
» макета просто равно нулю.
Очевидно, сгенерированный макетный подкласс переопределяет реализацию свойства. Есть ли способ исключить свойство Parameters из-за повторной реализации?
Спасибо.
Поля не могут быть виртуальными. Проблема в том, что свойство Parameters переопределяется, а не поле. Поле инициализировано просто отлично ... оно больше не связано с свойством в макете. – womp