Хм ... вы можете в C # очень легко:
public abstract string Foo { get; protected set; }
К сожалению, Reflector создает недопустимый VB, когда я декомпилирую это ...
РЕДАКТИРОВАТЬ: просмотрев несколько битов документации, я подозреваю , вы не можете сделать это :( Документация MustOverride заявляет:
Неполная декларация. Когда ты
укажите MustOverride, вы не
предоставить любые дополнительные строки кода
для имущества или процедуры, а не
даже конечная функция, конечное свойство,
или End Sub оператор.
Это говорит о том, что вы не можете указать разные уровни доступа: (