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();
}
}