C# 不实现接口成员-即使我已经实现了该成员

C# 不实现接口成员-即使我已经实现了该成员,c#,.net-core,C#,.net Core,我是C#的新手。我在提供的一些示例代码的基础上添加了自己的代码。getfilterfileandlatedfiles是我的代码 即使我已确保方法已实现且返回类型有效,但仍会收到以下错误消息 如果我删除了函数定义,那么IDE会抱怨接口没有实现,因此我知道我正确地实现了接口,因为IDE没有抱怨 错误CS0535“TradeLogDataService”未实现接口成员“ITradeLogDataService.GetFilterFileAndRelatedFiles(字符串)”FileInsight

我是C#的新手。我在提供的一些示例代码的基础上添加了自己的代码。
getfilterfileandlatedfiles
是我的代码

即使我已确保方法已实现且返回类型有效,但仍会收到以下错误消息

如果我删除了函数定义,那么IDE会抱怨接口没有实现,因此我知道我正确地实现了接口,因为IDE没有抱怨

错误CS0535“TradeLogDataService”未实现接口成员“ITradeLogDataService.GetFilterFileAndRelatedFiles(字符串)”FileInsight FileInsight\TradeLogDataService.cs

这是接口:

using FileInsight.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace FileInsight.Services
{
    public interface ITradeLogDataService
    {
        Task<IEnumerable<DeepDiveSetting>> GetDeepDiveSettingByLogFolderID(int logFolderID);
        Task<IEnumerable<FilterFileAndRelatedFiles>> GetFilterFileAndRelatedFiles(string searchString);
    }
}
using FileInsight.Models;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace FileInsight.Services
{
    public class TradeLogDataService : BaseDataService, ITradeLogDataService
    {
        private readonly ITradeLogDBContext _tradeLogDBContext;
        public TradeLogDataService(IHttpContextAccessor httpContextAccessor, ILogger<WebDataService> logger, ITradeLogDBContext context)
          : base(httpContextAccessor, logger)
        {
            _tradeLogDBContext = context;
        }

        public async Task<IEnumerable<DeepDiveSetting>> GetDeepDiveSettingByLogFolderID(int logFolderID)
        {
            List<DeepDiveSetting> deepDiveLists = new List<DeepDiveSetting>();
            IEnumerable<DeepDiveSetting> deepDiveSettings = await _tradeLogDBContext.GetDeepDiveSettingByLogFolderID(logFolderID);
            return deepDiveLists.ToList();
        }

        public async Task<IEnumerable<FilterFileAndRelatedFiles>> GetFilterFileAndRelatedFiles(string searchString)
        {
            List<FilterFileAndRelatedFiles> filterFileRelatedFilesList = new List<FilterFileAndRelatedFiles>();
            IEnumerable<FilterFileAndRelatedFiles> filterFileRelatedFiles = await _tradeLogDBContext.GetFilterFileAndRelatedFiles(searchString);
            return filterFileRelatedFiles.ToList();
        }
    }
}
使用FileInsight.Models;
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用System.Threading.Tasks;
命名空间FileInsight.Services
{
公共接口ITradeLogDataService
{
任务GetDeepDevSettingByLogFolderId(int logFolderID);
任务GetFilterFileAndRelatedFile(字符串搜索字符串);
}
}
这是实现接口的类:

using FileInsight.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace FileInsight.Services
{
    public interface ITradeLogDataService
    {
        Task<IEnumerable<DeepDiveSetting>> GetDeepDiveSettingByLogFolderID(int logFolderID);
        Task<IEnumerable<FilterFileAndRelatedFiles>> GetFilterFileAndRelatedFiles(string searchString);
    }
}
using FileInsight.Models;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace FileInsight.Services
{
    public class TradeLogDataService : BaseDataService, ITradeLogDataService
    {
        private readonly ITradeLogDBContext _tradeLogDBContext;
        public TradeLogDataService(IHttpContextAccessor httpContextAccessor, ILogger<WebDataService> logger, ITradeLogDBContext context)
          : base(httpContextAccessor, logger)
        {
            _tradeLogDBContext = context;
        }

        public async Task<IEnumerable<DeepDiveSetting>> GetDeepDiveSettingByLogFolderID(int logFolderID)
        {
            List<DeepDiveSetting> deepDiveLists = new List<DeepDiveSetting>();
            IEnumerable<DeepDiveSetting> deepDiveSettings = await _tradeLogDBContext.GetDeepDiveSettingByLogFolderID(logFolderID);
            return deepDiveLists.ToList();
        }

        public async Task<IEnumerable<FilterFileAndRelatedFiles>> GetFilterFileAndRelatedFiles(string searchString)
        {
            List<FilterFileAndRelatedFiles> filterFileRelatedFilesList = new List<FilterFileAndRelatedFiles>();
            IEnumerable<FilterFileAndRelatedFiles> filterFileRelatedFiles = await _tradeLogDBContext.GetFilterFileAndRelatedFiles(searchString);
            return filterFileRelatedFiles.ToList();
        }
    }
}
使用FileInsight.Models;
使用Microsoft.AspNetCore.Http;
使用Microsoft.Extensions.Logging;
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用System.Threading.Tasks;
命名空间FileInsight.Services
{
公共类TradeLogDataService:BaseDataService、ITradeLogDataService
{
私有只读ITradeLogDBContext _tradeLogDBContext;
public TradeLogDataService(IHttpContextAccessor httpContextAccessor、ILogger logger、ITradeLogDBContext上下文)
:base(httpContextAccessor、记录器)
{
_tradeLogDBContext=context;
}
公共异步任务GetDeepDevSettingByLogFolderId(int logFolderID)
{
List deepDiveLists=新列表();
IEnumerable deepdivettings=wait_tradeLogDBContext.getdeepdivettingbylogfolderid(logFolderID);
return deepDiveLists.ToList();
}
公共异步任务GetFilterFileAndRelatedFile(字符串搜索字符串)
{
List filterFileRelatedFilesList=新列表();
IEnumerable filterFileRelatedFiles=wait _tradeLogDBContext.GetFilterFileAndRelatedFiles(搜索字符串);
返回filterFileRelatedFiles.ToList();
}
}
}

这是一个简单的问题。提供的示例代码在两个不同的位置有
TradeLogDataService.cs
文件。我在其中实现接口的那个不是正在使用的那个。
解决方案是删除未使用的文件并在正确的文件中实现接口。

是否有多个
过滤器文件和最新文件的实现?如果您在接口中的一个和类中的一个上进行实现,它们会将您带到同一个类和文件吗?我已经重新创建了代码并编译了它:(没有显示错误)。也许您在错误的包引用或错误的名称空间方面存在问题,以至于您没有真正创建具有正确类型的实现。我将尝试删除该方法,并让IDE重新创建它(作为存根)。然后看看它们之间的区别。我也这么做了,我这边没有任何问题。您可以尝试的另一件事是:在项目或解决方案文件夹上运行后,从命令行运行:dotnet build并检查是否出现相同的错误,以防IDE在您更改它后没有意识到它应该工作。我一定是做错了什么。我让IDE按照@Herovanders的建议为我创建方法,但仍然得到了错误。我尝试了dotnet构建,但失败了,因为我没有实现接口memberClose所有文件,删除bin和obj目录,重新启动IDE并重试!