8
(저는 .NET 4.0 베타, C#에서 일하고 있습니다.)파생 클래스가 ToString()을 재정의하도록하는 방법이 있습니까?
저는 인터페이스를 가지고 있으며이 인터페이스에서 파생 된 모든 클래스는 사용자 정의 ToString()
로직을 구현해야합니다. 그것은 집행 가능합니까? 그렇다면 어떻게?
(저는 .NET 4.0 베타, C#에서 일하고 있습니다.)파생 클래스가 ToString()을 재정의하도록하는 방법이 있습니까?
저는 인터페이스를 가지고 있으며이 인터페이스에서 파생 된 모든 클래스는 사용자 정의 ToString()
로직을 구현해야합니다. 그것은 집행 가능합니까? 그렇다면 어떻게?
인터페이스를 통과하지 못했습니다.
이에 대한 추상 클래스를 사용해야합니다.
-
당신은 단지 추상적으로 'ToString'- 선언을 다시 할 수 있습니다 편집 :
abstract class Foo
{
public override abstract string ToString();
}
당신이'ToString()를'오버라이드 (override)하는 클래스를 _need_ 경우에, 당신이 암시하고 강한 계약 'ToString()'에 대해 일반적으로 사용되는 것보다 큽니다. 그렇다면, 목적을 위해 ToString()을 재사용하기보다는 별도의 메소드를 정의하는 것이 더 나은 선택 일 수 있습니다. –
가능합니다. 제 상황은 "IMyInterface"타입의 클래스에서 ToString()을 호출하면 사람들에게 알리 길 원합니다. 모든 IMyInterface가 포함해야하는 고유 한 데이터 유형과 관련된 것을 얻을 것입니다. 클래스 IIRC의 이름과 같은 것을 제공하는 일반적인 구현이 아닙니다. – Domenic
http://stackoverflow.com/questions/510341/force-subclasses-of-an-interface-to-implement-tostring –