У меня есть абстрактный класс Page, и я хочу, чтобы все подклассы Page предоставляли статическое поле или свойство Route. Возможно ли это на C#?
abstract class Page;
class MasterPage : Page
{
public const string Route = $"//{nameof(MasterPage)}";
}
class DetailPage : Page
{
public const string Route = $"{MasterPage.Route}/{nameof(DetailPage)}";
}
Использование
NavigateTo(MasterPage.Route);
NavigateTo(DetailPage.Route);
static void NavigateTo(string route) { }
Свойство или поле должно быть статичным, поскольку нет смысла создавать экземпляр MasterPage в DetailPage.
public const string Route = $"{MasterPage.Route}/{nameof(DetailPage)}";
Подробнее здесь: https://stackoverflow.com/questions/790 ... y-or-field