interface作为c#中方法的参数

 Remember_Mi 发布于 2022-12-21 17:36

我已经定义了一个接口IActivity,然后创建了两个实现此接口的类

public class EngagementActivity : IActivity...

public class MPEngagementActivity : IActivity...

然后我创建了一个方法来将活动保存到数据库,如下所示

public void SaveActivity (IActivity activity)

我遇到的问题是,当我传递一个类型的参数EngagementActivityMPEngagementActivity这个方法时,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)'的最佳重载方法匹配具有一些无效参数

Valentin P... 5

如果IActivity是您的命名空间中的类,则检查SaveActivity(IActivity活动)的声明,而不是像Microsoft.VisualStudio.Uml.Activities.IAcitivity.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有