definiert Ich versuche, eine Container-Klasse zu erben, die Teil einer anderen DLL ist, die die folgende StrukturDer Typ hat keine Konstrukteuren
namespace MySdk
{
// Summary:
// Container class used to encapsulate individual mark details
public class MathsReport: IEnumerable
{
// Summary:
// A list of mark details.
public List<Mark> Marks;
// Summary:
// Get access to the C# IEnumerator interface of the mark reports list.
//
// Returns:
// The IEnumerator interface to the list of mark reports.
public IEnumerator GetEnumerator();
}
}
My-Code
public class MyReport : MathsReport
{
}
Es The type MySdk.MathsReport has no constructors defined
wirft hat.
Warum es Fehler wirft und mich von inherting einschränkt. Und wie kann ich es überwinden?
Der Code, den Sie wäre gut präsentiert haben, aber vermutlich 'MathsReport' * eigentlich * deklariert einen Konstruktor, aber mit internen/privater Zugang. Ihre Unterklasse müsste Zugriff auf diesen Konstruktor haben, um sie zu verketten. Können Sie den Code in der anderen DLL anschauen und/oder ändern? –
Der Code, der für 'MathsReport' angezeigt wird, sieht einer dekompilierten Version ziemlich ähnlich. Sie sollten prüfen, ob ein Konstruktor vorhanden ist. Wenn dies der Fall ist (was ziemlich sicher ist), hat dieser Zugriffsmodifikator diesen Konstruktor. –
@JonSkeet Danke, wie von @ Lasse V. Karlsen erwähnt, ist es ein dekompilierter Code und der obige Code ist, was ich in der DLL sehe. Es gibt keinen anderen Code in der Klasse MathsReport –