я сделал статическое свойство в интерфейсе, которое я бы мог переопределить для каждого наследника-типа?
вроде появилось там че то в C# 8 вроде как?
но че то не получается:
interface IReport
{
static string Template { get; }
}
class Report1 : IReport
{
}
class Report2 : IReport
{
}
он вот тут не ругается как бы, хотя я предполагал что будет
Вроде статика в интерфейсе появилась в с# 11
interface IReport { static abstract string Template { get; } } class Report1 : IReport { } class Report2 : IReport { }
ой, я перепутал у меня dotnet 7 и C# 11
ммм static abstract в интерфейсе майки там уже под солями новые версии c# делают
А что если между интерфейсом и классами у меня еще базовый абстрактный класс. То так надо как на скрине?)
а у меня получается знаешь че у меня куда есть репортов в проекте, у каждого репорта есть свой бакет я хочу собрать при запуске программы все бакеты со всех репортов но не хочу создавать экземпляры самих репортов, чтобы получить бакет поэтому вот думаю через статику пойду и потом рефлексией все соберу, все бакеты
так в твоих Report1 и Report2 не будет требоваться определить геттер
ну ты имеешь ввиду можно просто через =>
я имею ввиду что вот так будет работать: interface IReport { static abstract string Template { get; } } abstract class ReportBase : IReport { public static string Template { get; } } class Report1 : ReportBase { } class Report2 : ReportBase { }
а, ну вот мне это не нравится!
Обсуждают сегодня