gpt4 book ai didi

c# - 接口(interface)作为c#中方法的参数

转载 作者:太空宇宙 更新时间:2023-11-03 18:29:30 27 4
gpt4 key购买 nike

我定义了一个接口(interface)IActivity,然后创建了两个实现这个接口(interface)的类

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();
}
}

错误信息是:

The best overloaded method match for SaveActivityRecord(IActivity)' has some invalid arguments

最佳答案

检查 SaveActivity(IActivity activity) 的声明,如果 IActivity 是来自您的命名空间的类,而不是像 Microsoft.VisualStudio.Uml.Activities 这样的东西.IAcitivity

关于c# - 接口(interface)作为c#中方法的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25797873/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com