я определил интерфейс IActivity
, а затем создал два класса, которые реализуют этот интерфейс, какинтерфейс в качестве параметра метода в C#
public class EngagementActivity : IActivity...
и
public class MPEngagementActivity : IActivity...
Я тогда создал метод, чтобы сохранить деятельность в базе данных следующим образом:
public void SaveActivity (IActivity activity)
Проблема, с которой я столкнулась, - это at, когда я передаю параметр типа EngagementActivity
или MPEngagementActivity
на этот метод. Visual Studio жалуется на несогласованные типы.
Я делаю это неправильно?
Вот код вызова (неполный я знаю ...)
public ActionResult UpdateEngagementActivityRecord(EngagementActivityViewModel model)
{
if (ModelState.IsValid)
{
svc.SaveActivityRecord(model.Activity);
//Redirect to Index?
}
InitialiseEngagementActivityViewModel(model);
return View(model);
}
и здесь метод (неполный)
internal void SaveActivityRecord(IActivity model)
{
Activity record = new Activity();
if (model != null)
{
dbContext.Activities.Add(record);
Save();
}
}
сообщение об ошибке:
Наилучшее перегруженное совпадение метода для SaveActivityRecord (IActivity) имеет некоторые недопустимые аргументы
Просьба показать объявление «EngagementActivityViewModel.Activity». –