[C#] ''은(는) '' 인터페이스 멤버를 구현하지 않습니다. ''에 일치하는 반환 형식 ''이(가) 없으므로 ''을(를) 구현할 수 없습니다. CS0738 오류코드 해결 방법

C#에서 오류코드 CS0738은 인터페이스를 구현할 때 발생하는 컴파일러 오류입니다. 이 오류는 인터페이스 멤버와 구현하는 메서드의 반환 형식이 일치하지 않을 때 나타납니다. 예를 들어, 인터페이스 멤버가 int를 반환하고, 구현하는 메서드가 void를 반환하면 이 오류가 발생합니다.

''은(는) '' 인터페이스 멤버를 구현하지 않습니다. ''에 일치하는 반환 형식 ''이(가) 없으므로 ''을(를) 구현할 수 없습니다.

''은(는) '' 인터페이스 멤버를 구현하지 않습니다. ''에 일치하는 반환 형식 ''이(가) 없으므로 ''을(를) 구현할 수 없습니다.

이 오류를 해결하기 위해서는 구현하는 메서드의 반환 형식을 인터페이스 멤버와 동일하게 변경해야 합니다. 다음은 이 오류의 예시와 해결 방법입니다.

//인터페이스 정의
interface INavigation
{
    void Navigate(Page page);
}

//인터페이스 구현
class ViewBeomSang : INavigation
{
    public bool Navigate(Page page)
    {
        //''은(는) '' 인터페이스 멤버를 구현하지 않습니다. ''에 일치하는 반환 형식 ''이(가) 없으므로 ''을(를) 구현할 수 없습니다.
        throw new NotImplementedException();
    }
}

인터페이스 정의가 잘못된 경우

정의가 잘못된 경우, 인터페이스 정의의 반환값을 수정합니다.

//인터페이스 정의
interface INavigation
{
    //void => bool
    bool Navigate(Page page);
}

//인터페이스 구현
class ViewBeomSang : INavigation
{
    public bool Navigate(Page page)
    {
        throw new NotImplementedException();
    }
}

인터페이스 구현이 잘못된 경우

구현한 메서드의 반환 형식을 수정하여 오류를 해결합니다.

//인터페이스 정의
interface INavigation
{    
    void Navigate(Page page);
}

//인터페이스 구현
class ViewBeomSang : INavigation
{
    //bool => void
    public void Navigate(Page page)
    {
        throw new NotImplementedException();
    }
}

댓글