nehme ich eine generische Klasse in C#, deren Erklärung haben wie folgt aussieht:Leere Schnittstelle oder leere Basisklasse als Typ-Parameter Einschränkung verwenden
public abstract class DtoQuery<T> where T : class
{ }
Nun wird der Typ-Parameter ein „Dto“ immer gedacht Klasse. Ich habe eine Reihe von diesen, aber das "Problem" ist, dass sie gemeinsam nichts haben. Sie alle haben nur eine Reihe von (eindeutigen) öffentlichen Eigenschaften und keine Methoden.
Idealerweise möchte ich meine Klasse DtoQuery<T>
nur solche "Dto" -Klassen als ihren Typparameter akzeptieren lassen. Also müsste ich entweder eine leere Schnittstelle IDto
oder eine leere abstract class Dto
erstellen.
Frage: mit welcher soll ich gehen? Hinweis: Die DTO-Klassen erweitern niemals etwas anderes!
(P. S. für die Neugierigen: Ich verspreche, dass ich nicht etwas extrem dumm und albern, das ist Dienstprogramm-Funktionalität in einem Test-Projekt und wird nicht für Produktionscode verwendet werden).
Da es sowieso leer ist, würde ich für die Schnittstelle gehen. Aber da es dir nicht wichtig ist (nach deinem P. S.) und keine Konsequenzen haben wird, warum fragst du überhaupt? Das ist noch nicht einmal meine Meinung, rolle einfach einen Würfel :) –
@ RenéVogt Ich frage, weil die Tatsache, dass ich keinen Grund weiß, warum es einen Unterschied macht, nicht heißt, dass sonst niemand in der Gemeinde ein kennt Grund. Dafür sind Fragen, nicht wahr :)? Was wäre, wenn * dies eine Produktionscodesituation wäre? – MarioDS
Welchen * Code * können Sie schreiben, wenn der generische Typ, mit dem Sie es zu tun haben, keine Methoden oder Eigenschaften hat? –