나는 추상 제네릭 클래스를문제 상속 추상 제네릭 클래스
There is not argument that corresponds to the required formal parameter '_Data' of 'A<T>.A(IEnumerable<T>)'
in the 'B' class.
나는 추상 제네릭 클래스를문제 상속 추상 제네릭 클래스
There is not argument that corresponds to the required formal parameter '_Data' of 'A<T>.A(IEnumerable<T>)'
in the 'B' class.
당신은 A
이 아니라 A<T>
을 상속 받아야합니다 :
public A(_Data)
은 생성자가 아니므로 원하는 것으로 가정합니다. 대신 이 필요합니다.
A
에서 호출 할 수있는 B
의 생성자를 만들어야합니다. 이 오류에 적혀 B. 올바른 생성자를 변경하려면 제공하지 않았기 때문에
public class B<T> : A<T> where T : class, new()
{
public B<T>(IEnumerable<T> data) : base(data) { ... }
}
내 원래 코드는 좀 더 복잡하므로 여기에 직접 입력했습니다. 내가 상속 한 A
그런 다음이 질문을 게시하기 전에 검증 가능한 예제를 제공했는지 확인하십시오. 또는 적절하게 편집하십시오. – HimBromBeere
, 그것은 기본 클래스를 만들 수 없습니다 : 그래서 인수로 IEnumerable<T>
와 B
의 매개 변수가 A
에서 생성자 또는 하나를 정의하거나 args를 넘길 경우
public class B<T> : A<T> where T : class, new(){
public B(IEnumerable<T> data):base(data) {
}
}
그렇지 않으면 생성자에서 데이터를 새로 작성하여 기본으로 전달하십시오.
어느 귀하의 기본 클래스 또는 다른 사람으로 공공 매개 변수가없는 생성자를 제공는`공공의 A (_data)`를 무엇 파생 클래스
에서
IEnumberable<T>
을 전달하여 기본 클래스 생성자로 전화를 걸 제안? 이것은 컴파일되지 않습니다! – user3185569이것은 생성자입니다 –
그래, 여기에 직접 코드를 입력했습니다. 그것은 타이핑 실수입니다. 어쨌든 해결했습니다 –