2010-07-17 8 views
4

여기에 무슨 일이 일어나고 있는지 이해할 수 없지만 문제없이 컴파일 된 다른 프로젝트의이 코드를 복사했습니다.하지만 직접 가져온 것처럼 메서드에 반환 형식이 필요하다는 생성자 정의의 컴파일러 오류입니다.추상 클래스의 생성자가 반환 유형을 묻습니다.

public abstract class BaseSqlRepository<T, InterfaceT, PrimaryKeyT> 
     where T : class 
     where InterfaceT : class 
{ 
    protected EvalgridEntities DataContext; 
    protected BaseSqlRespository(EvalgridEntities db) 
    { 
     this.DataContext = db; 
    } 
} 

Method must have a return type.

나는 무엇을 놓치고?

+1

바코리아, 복사/붙여 넣기를하면 어떻게됩니까? ._. –

+1

아무 생각이든 -하지만 그게 문제입니다. (적어도 이것이 실제 코드라면 ...) –

+1

아마 잘 붙여 넣었고 커서를 단어 가운데에 놓았을 때 실수로 ' 당신의 키보드에. –

답변

6

맞춤법 오류가 있습니다. 생성자의 철자가 BaseSqlRe sp입니다.

변경에 :

protected BaseSqlRepository(EvalgridEntities db) 
{ 
    this.DataContext = db; 
} 

명명이 다르기 때문에 컴파일러는 방법이 아닌 생성자로 이것을 본다. 반환 유형이 없으므로 오류가 발생합니다.

Method must have a return type.

4

오타가 있습니다. 클래스 이름은 BaseSqlRepository (모든 철자가 정확함)이지만 생성자의 이름은 BaseSqlRe s pository (중간에 추가)입니다.

1

코드에 오타가 있습니다. 클래스의 이름은 BaseSqlRepository이지만 생성자의 이름은 BaseSqlRe S pository입니다.

관련 문제