Ich möchte eine Schnittstelle in C# erstellen, die eine Methode definiert, die immer ein Objekt der implementierenden Klasse zurückgibt, also:
public interface IParser {
IParser Parse(string s);
}
public class Parser : IParser {
public Parser Parse(string s) {
return new Parser(s);
}
}
Kann ich eine implementierende Klasse dazu zwingen, ein Objekt ihres eigenen Typs zurückzugeben? Wenn möglich, dann wie ? Oder sind Generika hier die Antwort?
NB: Der Code dient nur zur Veranschaulichung und ist nicht bindend. laufen soll.