많은 수의 파생 클래스가있는 기본 클래스가 있고 기본 클래스에는 여러 생성자가 있습니다. 모든 파생 된 클래스에서 기본 생성자에 인수를 전달하기 위해 빈 생성자를 구현해야합니다. 어떻게 든 C#에서 파생 생성자를 사용하도록 말할 수 있습니까?파생 클래스에 빈 생성자를 구현하지 않으려면 어떻게해야합니까?
예를 들어,이 기본 클래스를 사용하는 경우. 내가 가진 것
class BaseTool
{
public BaseTool(string Arg1, string Arg2)
{
// do stuff.
}
public BaseTool(string Arg1)
{
// do stuff.
}
public BaseTool(int Arg1)
{
// do stuff.
}
}
그 인수로 위의 모든 생성자를 구현하고 파생 클래스로 전달하는 : base(...)
를 호출합니다. 이로 인해 빈 생성자가있는 많은 클래스가 생성됩니다. 많은 낭비되는 코드처럼 보입니다.
제가 생각할 수있는 유일한 것은 인스턴스 생성자 대신에'정적'메소드를 만드는 것입니다. 그래서 예를 들어'public static T Create (문자열 Arg1, 문자열 Arg2) 여기서 T : BaseTool, new() {var instance = new T(); 인스턴스에 물건을 넣으십시오. */반환 인스턴스; }'. 이것은'var newDT = BaseTool.Create ("foo", "bar");'로 호출 될 수 있습니다. –
@JeppeStigNielsen : 답변으로 게시하면 upvote :-) – dtb
@dtb 답변으로 게시했습니다. –