Quelle est la différence entre une classe avec des constructeurs protégés et une classe marquée MustInherit
? (Je programme en VB.Net mais cela s'applique probablement aussi à C#).Constructeurs protégés et MustInherit/Classe abstraite
La raison pour laquelle je demande est parce que j'ai une classe abstraite que je veux convertir les constructeurs en méthodes partagées/statiques. (Pour ajouter quelques contraintes).
Je ne peux pas faire cela car il n'est pas possible de créer une instance dans la fonction partagée.
Je pense simplement à supprimer le mot-clé MustInherit
. Cela fera-t-il une différence?
Merci.
ETA:
Je pense avoir répondu à ma question, Si je retire le mot-clé MustInherit, je ne peux plus compter les MustOverrides, qui sont très utiles.
Dans cet esprit, y a-t-il un moyen de contourner mon problème?
ETA2:
Pour clarifier les choses, je ne peux pas le ci-dessous à moins que je retire le mot-clé MustInherit?
Public MustInherit MyBaseClass
Private Sub New()
End Sub
Protected Function CreateInstance(ParmList) As MyBaseClass
If ParmList is Ok Then Return New MyBaseClass()
End Function
End Class
Vous devez indiquer de quelle langue vous parlez. – womp
Merci pour cela, j'ai mis à jour pour indiquer que c'est vb.net ou C# – Jules