В чем разница между классом с защищенными конструкторами и классом, отмеченным как MustInherit
? (Я программирую в VB.Net, но он, вероятно, в равной степени относится и к C#).Защищенные конструкторы и MustInherit/Abstract class
Причина, по которой я прошу, состоит в том, что у меня есть абстрактный класс, который я хочу преобразовать конструкторы в общие/статические методы. (Чтобы добавить некоторые ограничения).
Я не могу этого сделать, потому что невозможно создать экземпляр в общей функции.
Я собираюсь просто удалить ключевое слово MustInherit
. Будет ли это иметь значение?
Спасибо.
ETA:
Я думаю, что я ответил на мой вопрос, если я удалить MustInherit ключевое слово, я больше не может включать в себя MustOverrides, которые очень полезны.
Имея это в виду, есть ли какой-либо путь вокруг моей проблемы?
ETA2:
Чтобы уточнить, я не могу сделать ниже, если я не удалить 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
Вы должны указать, на каком языке вы говорите. – womp
Спасибо за это, я обновил ее, указав, что это vb.net или C# – Jules