Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中的方法中作为参数的接口#_C#_Interface - Fatal编程技术网

C# 在c中的方法中作为参数的接口#

C# 在c中的方法中作为参数的接口#,c#,interface,C#,Interface,我已经定义了一个接口IActivity,然后创建了两个类来实现这个接口 public class EngagementActivity : IActivity... 及 然后,我创建了一个方法,将活动保存到数据库中,如下所示 public void SaveActivity (IActivity activity) 我遇到的问题是,当我将类型为EngagementActivity或MPEngagementActivity的参数传递给此方法时,VisualStudio会抱怨类型不匹配 我做错了

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

public class EngagementActivity : IActivity...

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

public void SaveActivity (IActivity activity)
我遇到的问题是,当我将类型为
EngagementActivity
MPEngagementActivity
的参数传递给此方法时,VisualStudio会抱怨类型不匹配

我做错了吗

这是呼叫代码(我知道不完整…)

这里是方法(不完整)

错误消息是:

与SaveActivityRecord(IActivity)”匹配的最佳重载方法具有一些无效参数


根据您提供的信息,您没有做错任何事。一定是别的原因。重新启动Visual Studio的最佳方法:)

您的类
实现IActivity
接口,然后它们可以作为IActivity接口传递。我们用这个基本的OOPS概念来实现多态性,我不知道有多少次


所以这是另外一回事。

根据您提供的信息
您没有做错任何事。一定是别的原因。重新启动Visual Studio的最佳方法:)

您的类
实现IActivity
接口,然后它们可以作为IActivity接口传递。我们用这个基本的OOPS概念来实现多态性,我不知道有多少次


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

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

我忘了实现接口的一个成员。。。哼


谢谢您的回复。

我忘了实现接口的一个成员。。。哼


感谢所有回复。

请显示
EngagementActivityViewModel.Activity的声明。
请显示
EngagementActivityViewModel.Activity的声明。
。您是否未收到实现所有成员的警告?是否未收到实现所有成员的警告?
public void SaveActivity (IActivity activity)
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();
    }
}