어떻게해야하는지 묻지 않습니다. 이 질문은 언어 작성자의 디자인 결정에 관한 것입니다.
생성자와 메서드가있는 기본 클래스가 있다고 가정 해 보겠습니다.
public class BaseClass
{
public BaseClass(string argument)
{
}
public void SomeMethod()
{
}
}
또한 비어있는 (또는 실제로 다른 관련없는 항목이있는) 파생 클래스도 있습니다.
public class DerivedClass : BaseClass
{
public DerivedClass() // Some other constructor not used in the example, just so it will compile
}
따라서 파생 클래스의 인스턴스에서 메서드를 호출하려고하면 작동하지만 생성자를 호출하려고하면 컴파일 오류가 발생합니다.
var d = new DerivedClass("argument"); // error CS1729: The type `DerivedClass' does not contain a constructor that takes `1' arguments
d.SomeMethod(); // Works OK
이 언어 디자인 결정의 이유는 무엇입니까?
생성자가 상속되지 않기 때문입니다.
자세한 내용은이 게시물을 참조하여 이유에 대한 설명을 참조하십시오. 생성자가 상속되지 않는 이유는 무엇입니까?
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다