不保存在.dll中的C#接口方法,不是接口的成员

jpa*_*lov 4 c#

对于我放入接口的方法,我一直收到"不是接口的成员",请参阅下面的代码:

public interface IDepartmentDataSource
{
    IQueryable<Employee> Employees { get; }
    IQueryable<Department> Departments { get; }
    void Save();
}
Run Code Online (Sandbox Code Playgroud)

然后我实现接口并像这样使用它,

    void IDepartmentDataSource.Save()
    {
        SaveChanges();
    }
Run Code Online (Sandbox Code Playgroud)

这是当我收到错误时,我可以看到员工和部门,但不是保存.当我转到定义的元数据时,我也没有看到Void Save(),但它在我的Interface文件中.

有人可以轻松一点,谢谢.

UPDATE ::当我说导航到定义时,这就是我所看到的,即使我删除.dll并重建,我收到同样的东西.

#region Assembly eManager.Domain.dll, v1.0.0.0
// C:\PluralSight\eManager\eManager.Web\bin\eManager.Domain.dll
#endregion

using System.Linq;

namespace eManager.Domain
{
    public interface IDepartmentDataSource
    {
        IQueryable<Department> Departments { get; }
        IQueryable<Employee> Employees { get; }
    }
}
Run Code Online (Sandbox Code Playgroud)

NCC*_*1-M 6

尝试隐式而不是明确地实现该功能,否则只有在将对象强制转换为IDepartmentDataSource时才会看到它:

public interface IDepartmentDataSource
{
    IQueryable<Employee> Employees { get; }
    IQueryable<Department> Departments { get; }
    void Save();
}

public class TestClass : IDepartmentDataSource
{
    public IQueryable<Employee> Employees
    {
        get { /* TODO: */}
    }

    public IQueryable<Department> Departments
    {
        get { /* TODO:  */ }
    }

    public void Save()
    {
        //TODO:
    }
}
Run Code Online (Sandbox Code Playgroud)