Резюме для программиста
Blazor ... т.е. приписка Base к типу обязательнаЭто где такое написано?
Я ошибся - не обязательна, а желательна по соглашениям.
https://docs.microsoft.com/en-us/dotnet/architecture/blazo...
есть базовый тип с кодом (AlexNek должен пониматьУвы, есть только догадки
Хотя как сделать базовый тип без кода догадок нет.
На примере поясню. Вот базовый класс для компонента
public class MyComponentBase : ComponentBase { protected string type => GetType().Name; }
Вот код компонента MyComponent
@inherits MyComponentBase <p>@type</p>
Что будет выведено в теге "р"? Без проверок и подсказок.
Я ошибся - не обязательна, а желательна по соглашениям.Blazor ... т.е. приписка Base к типу обязательнаЭто где такое написано?
https://docs.microsoft.com/en-us/dotnet/architecture/blazo...
Кстати, можно не создавать базовый класс в файле code-behind. Можно просто создать частичный (partial) класс с тем же именем, что и компонент, и там писать код. Странно, что я нигде не нашёл такого упоминания. Почему все либо пишут код прямо в разметке, либо создают базовый класс, но не частичный?
А, нуда - код компонентов генерируется как частичный класс
https://docs.microsoft.com/en-us/aspnet/core/blazor/compon...
А базовый класс с директивой @inherits - просто возможность для наследования
https://docs.microsoft.com/en-us/aspnet/core/blazor/compon...
Просто все тьюториалы, что я встречал, либо пишут код прямо в файле компонента, либо в базовом классе. Нигде не видел, чтобы создавали частичный класс с именем компонента, хотя это кажется проще, чем городить наследование от базового класса на пустом месте для простого кода, лишь бы отделить логику от представления.
Как эта картинка ответит на вопрос, что в Кор проект можно подключить проект Дотнет Фреймворк, но не наоборот?
А вот тут пишут, что это может работать только в самых простых случаях (вот как я выше описал - просто передать базовый тип из одного проекта в другой), а в более сложных будешь получать ошибки. Похоже, я на такой случай и наткнулся. Вобщем, без переписывания проектов никуда.
есть базовый тип с кодом -- На примере поясню.
Хм.. не вижу связи. Что есть базовый тип с кодом и без кода? Если в класс чего-то написали то это есть класс с кодом? а если так class MyComponentBase{} - то это класс без кода?
А ответ на задачку, был уже раньше рассказан. Хотя отчего так объяснить не могу Согласно IL всё нормально.
Ничего не понял. Просто скажите, что будет выведено в теге "р". ))
https://foren.germany.ru/showmessage.pl?Number=39312265&Bo...
Это каких мозгов там нет? Какого глубокого анализа, ГУЯ для отладки и прочего?
Имеется ввиду VS.
В сгенерированном коде тип компонента какой?
так уже написал - непонятно отчего.
Зачем так долго ходить вокруг да около, если можно просто сказать "я ошибся", поправиться и пойти дальше? На вашем острове так не принято - на фирме альфакодеры обсмеют и выгонят из профессии? )))
Я вот кстати тоже считал, не понял, почему выводится MyComponent, полез читать про GetType и только тогда разобрался. Причём, насколько я припоминаю, это я уже раз третий минимум забываю, что на самом деле выводит object.GetType().