русский
Germany.ruForen → Архив Досок→ Programmierung

Резюме для программиста

AlexNek патриот07.07.22 20:42
AlexNek
NEW 07.07.22 20:42 
in Antwort alex445 07.07.22 16:42
Зачем нужен .NET Standard

Может вначале гуглу спросить? смущ

https://overcoder.net/q/11867/в-чем-%D...


alex445 коренной житель07.07.22 23:11
NEW 07.07.22 23:11 
in Antwort AlexNek 07.07.22 18:17
Blazor ... т.е. приписка Base к типу обязательна

Это где такое написано? шок

Я ошибся - не обязательна, а желательна по соглашениям.

https://docs.microsoft.com/en-us/dotnet/architecture/blazo...

alex445 коренной житель07.07.22 23:14
NEW 07.07.22 23:14 
in Antwort AlexNek 07.07.22 20:42, Zuletzt geändert 07.07.22 23:23 (alex445)


Зачем нужен .NET Standard
Может вначале гуглу спросить?

Как эта картинка ответит на вопрос, что в Кор проект можно подключить проект Дотнет Фреймворк, но не наоборот?

alex445 коренной житель07.07.22 23:33
NEW 07.07.22 23:33 
in Antwort AlexNek 07.07.22 18:27

есть базовый тип с кодом (AlexNek должен понимать

Увы, есть только догадки хммм Хотя как сделать базовый тип без кода догадок нет.

На примере поясню. Вот базовый класс для компонента


public class MyComponentBase : ComponentBase
{
    protected string type => GetType().Name;
}


Вот код компонента MyComponent


@inherits MyComponentBase

<p>@type</p>


Что будет выведено в теге "р"? Без проверок и подсказок.

alex445 коренной житель07.07.22 23:41
NEW 07.07.22 23:41 
in Antwort AlexNek 07.07.22 18:17, Zuletzt geändert 07.07.22 23:43 (alex445)
Blazor ... т.е. приписка Base к типу обязательна
Это где такое написано? шок
Я ошибся - не обязательна, а желательна по соглашениям.
https://docs.microsoft.com/en-us/dotnet/architecture/blazo...

Кстати, можно не создавать базовый класс в файле code-behind. Можно просто создать частичный (partial) класс с тем же именем, что и компонент, и там писать код. Странно, что я нигде не нашёл такого упоминания. Почему все либо пишут код прямо в разметке, либо создают базовый класс, но не частичный?

alex445 коренной житель08.07.22 13:44
NEW 08.07.22 13:44 
in Antwort alex445 07.07.22 23:41, Zuletzt geändert 08.07.22 13:44 (alex445)

А, нуда - код компонентов генерируется как частичный класс

https://docs.microsoft.com/en-us/aspnet/core/blazor/compon...


А базовый класс с директивой @inherits - просто возможность для наследования

https://docs.microsoft.com/en-us/aspnet/core/blazor/compon...


Просто все тьюториалы, что я встречал, либо пишут код прямо в файле компонента, либо в базовом классе. Нигде не видел, чтобы создавали частичный класс с именем компонента, хотя это кажется проще, чем городить наследование от базового класса на пустом месте для простого кода, лишь бы отделить логику от представления.

alex445 коренной житель08.07.22 14:40
NEW 08.07.22 14:40 
in Antwort alex445 07.07.22 23:14
Как эта картинка ответит на вопрос, что в Кор проект можно подключить проект Дотнет Фреймворк, но не наоборот?

А вот тут пишут, что это может работать только в самых простых случаях (вот как я выше описал - просто передать базовый тип из одного проекта в другой), а в более сложных будешь получать ошибки. Похоже, я на такой случай и наткнулся. Вобщем, без переписывания проектов никуда.

AlexNek патриот08.07.22 20:36
AlexNek
NEW 08.07.22 20:36 
in Antwort alex445 07.07.22 23:14
Как эта картинка ответит на вопрос

Картинка отвечает на поставленный вопрос - Зачем нужен .NET Standard

А так можно и в городе 100Км/ч ездить спок

AlexNek патриот08.07.22 20:43
AlexNek
NEW 08.07.22 20:43 
in Antwort alex445 07.07.22 23:33
есть базовый тип с кодом -- На примере поясню.

Хм.. не вижу связи. Что есть базовый тип с кодом и без кода? Если в класс чего-то написали то это есть класс с кодом? а если так class MyComponentBase{} - то это класс без кода?

А ответ на задачку, был уже раньше рассказан. Хотя отчего так объяснить не могу смущ Согласно IL всё нормально.

alex445 коренной житель09.07.22 14:44
NEW 09.07.22 14:44 
in Antwort AlexNek 08.07.22 20:43

Ничего не понял. Просто скажите, что будет выведено в теге "р". ))

https://foren.germany.ru/showmessage.pl?Number=39312265&Bo...

AlexNek патриот09.07.22 17:31
AlexNek
NEW 09.07.22 17:31 
in Antwort alex445 09.07.22 14:44
Ничего не понял.

Что есть базовый тип с кодом и без кода?


Не вижу особого смысла, но если так свербит

Просто скажите... - MyComponent

alex445 коренной житель09.07.22 18:49
NEW 09.07.22 18:49 
in Antwort AlexNek 09.07.22 17:31
MyComponent

Почему?

alex445 коренной житель09.07.22 18:50
NEW 09.07.22 18:50 
in Antwort alex445 09.07.22 18:49, Zuletzt geändert 09.07.22 18:51 (alex445)

Это каких мозгов там нет? Какого глубокого анализа, ГУЯ для отладки и прочего?

Имеется ввиду VS.

AlexNek патриот09.07.22 20:33
AlexNek
NEW 09.07.22 20:33 
in Antwort alex445 09.07.22 18:49
Почему?

так уже написал - непонятно отчего. Генерируемый код выглядит вполне себе так нормально. Дальше рыть просто нет ни времени ни интереса.

alex445 коренной житель09.07.22 21:15
NEW 09.07.22 21:15 
in Antwort AlexNek 09.07.22 20:33, Zuletzt geändert 09.07.22 21:18 (alex445)

В сгенерированном коде тип компонента какой?


так уже написал - непонятно отчего.

А почему должно вернуть не MyComponent?

AlexNek патриот09.07.22 21:50
AlexNek
NEW 09.07.22 21:50 
in Antwort alex445 09.07.22 21:15

А почему должно вернуть не MyComponent?

По привычке смущ

alex445 коренной житель10.07.22 09:01
NEW 10.07.22 09:01 
in Antwort AlexNek 09.07.22 21:50, Zuletzt geändert 10.07.22 09:03 (alex445)

При чём тут привычки? Почему вы считаете, что GetType, объявленный в родителе и вызванный в потомке должен вернуть не тип потомка?

AlexNek патриот10.07.22 10:57
AlexNek
NEW 10.07.22 10:57 
in Antwort alex445 10.07.22 09:01
Почему вы считаете

Правильно будет - считал спок

alex445 коренной житель10.07.22 12:35
NEW 10.07.22 12:35 
in Antwort AlexNek 10.07.22 10:57, Zuletzt geändert 10.07.22 12:37 (alex445)

Зачем так долго ходить вокруг да около, если можно просто сказать "я ошибся", поправиться и пойти дальше? На вашем острове так не принято - на фирме альфакодеры обсмеют и выгонят из профессии? )))


Я вот кстати тоже считал, не понял, почему выводится MyComponent, полез читать про GetType и только тогда разобрался. Причём, насколько я припоминаю, это я уже раз третий минимум забываю, что на самом деле выводит object.GetType().

AlexNek патриот10.07.22 16:30
AlexNek
NEW 10.07.22 16:30 
in Antwort alex445 10.07.22 12:35

Я тоже не понимаю отчего просто не сказать сразу "Что есть базовый тип с кодом"?

А не задавать какие то идиотские вопросы.