2014-12-03 2 views
0

나는 클래스에게 용도가이인터페이스 방법에 오류 "정의를 포함하지 않습니다"

public interface IDataContextAsync : IDataContext 
{ 
    void DisableGlobalFilter(string filterName); 
} 

같은 구조 된 인터페이스가이

public class Repository<TEntity> : IRepositoryAsync<TEntity> where TEntity : class, IObjectState 
{ 
    private readonly IDataContextAsync _context; 

    public Repository(IDataContextAsync context) 
    { 
     _context = context; 
    } 

    public void DisableGlobalFilter(string filterName) 
    { 
     _context.DisableGlobalFilter(filterName); 
    } 
} 

같은 인터페이스 언제 나는 다음과 같은 오류

'Repository.Pattern.DataContext.IDataContextAsync'는 defini를 포함하지 않는 얻을 컴파일하려고 'DisableGlobalFilter'를 입력 'Repository.Pattern.DataContext.IDataContextAsync'의 첫 번째 인수를 받아들이는 확장자가없는 방법 'DisableGlobalFilter'에 대한 기를 볼 수 있습니다 (당신은 using 지시문 또는 어셈블리 참조를 누락?)

Visual Studio에서 인텔리 센스가 올바르게 표시되는 것은 이상합니다. 클래스에서 인터페이스로 올바르게 이동할 수도 있습니다.

+0

다른 컴파일러 오류가 있습니까? 서로 다른 어셈블리에 있습니까? – SLaks

+0

다시 작성해보세요 .. 그리고 아마 VS를 다시 시작하십시오. – Blorgbeard

+0

클래스가 프로젝트에 있고 인터페이스가 다른 프로젝트에 있습니다. 그러나, 나는 다른 클래스를 참조하는 클래스의 프로젝트를 가지고있다. 그러나이 오류로 인해 누락 된 어셈블리와 관련하여 다른 오류가 있습니다. –

답변

-1

공정한 경고 : 저는 C# 사람이 아니지만 다음을 고려하십시오.

존재하지 않는 메소드를 호출하려고합니다.

DisableGlobalFilter()IDataContextAsync 인터페이스를 선언이지만, 어디을 정의하지 않습니다. 덧붙여 말하면 클래스에서 DisableGlobalFilter() 메서드를 사용하는 것은 우연히 발생합니다.이 메서드는 _context.DisableGlobalFilter(), _contextIDataContextAsync의 인스턴스입니다.이 코드는 게시 한 코드를 통해 알 수 있습니다. 인터페이스 일뿐입니다.

이 시점에서 IDataContextAsync::DisableGlobalFilter()은 추상/순수 가상 메서드입니다.

당신은IDataContextAsync 인터페이스 (DisableGlobalFilter() 포함) 실제로 구현은, 그 클래스의 인스턴스를 생성하는 클래스를 만들고, 코드의 부분에, 당신의 Repository<TEntity>() 생성자에 인수로이 인스턴스를 전달해야하는 귀하의 게시물에 표시되지 않습니다.

+0

이 답변이 어떤 식 으로든 개선 될 수 있다면 언제든지 편집하거나 알려주세요. 이유없는 하향 투표는이 기여의 질에 기여하지 않습니다. – xbug

+0

위의 내 의견에 언급 한대로 실제로 인터페이스 구현을 만들었습니다. 그 클래스에 지정된 함수를 포함 시켰습니다. –

+0

코드에서 IDataContextAsync :: DisableGlobalFilter()의 정의를 볼 수 없기 때문에이 구현을 게시하십시오. Repository :: DisableGlobalIdentifier에서 호출하는 함수가 _that_입니다.()'(컴파일러가 btw :'' '[...]에 대해 불평하는 바입니다 .IDataContextAsync에는'DisableGlobalFilter ' "'에 대한 정의가 없습니다. – xbug

관련 문제