【问题标题】:interfaces as parameters of a function [duplicate]接口作为函数的参数[重复]
【发布时间】:2018-02-22 14:43:31
【问题描述】:

我有一个问题,希望有人可以帮助我。我有以下界面:

public interface ITaskService
{
    ITaskBase GetTask(IRequestBase request);
}

我想实现这样的方法:

public ITaskBase GetTask(Request request) 
{

}

请求是一个看起来像这样的模型:

public class Request:IRequestBase
{
    public DateTime CheckIn { get; set; }

    public DateTime CheckOut { get; set; }
}

我收到一个编译错误,说该类没有实现接口 ITaskService ,但我不明白为什么请求参数是从 IRequestBase 接口继承的

【问题讨论】:

  • 签名必须相同是不够的。

标签: c# interface


【解决方案1】:

使ITaskService 通用。

public interface ITaskService<T> where T : IRequestBase
{
    ITaskBase GetTask(T request);
}

【讨论】:

    猜你喜欢
    • 2012-10-05
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    • 2021-12-07
    相关资源
    最近更新 更多