
superoleg
25.05.2017
12:59:11
Да

Igor
25.05.2017
13:00:16

Nikolay
25.05.2017
13:01:10
Да
Может где-то всё же не internal?

Google

Nikolay
25.05.2017
13:01:17
Щас у себя проверил, всё ок
Не показывает неймспейс

superoleg
25.05.2017
13:03:43
Может где-то всё же не internal?
Даже специально про всему проекту искал слово "public", таких всего 2, а половина namespace наружу видно. Это может как то быть связано с тем, что public класс использует using для подключения internal классов?

Nikolay
25.05.2017
13:05:26
У тебя неймспейсы видны, или классы в них тоже?

superoleg
25.05.2017
13:12:33

Nikolay
25.05.2017
13:13:26
Ну хз, может студия чудит

Nicholas
25.05.2017
13:13:33

Nikolay
25.05.2017
13:14:07
Я бы рекурсию, как альтернативу циклу не использовал)

ichi4Ø4
25.05.2017
13:14:51

Nikolay
25.05.2017
13:15:22
Точнее немного не так

Google

ichi4Ø4
25.05.2017
13:16:07
есть il код для нее, но пока ни одна реализаци яне оптимизирует

Nikolay
25.05.2017
13:16:19
RyuJIT x64 умеет оптимизировать хвостовую рекурсию

Му
25.05.2017
13:16:31

Nikolay
25.05.2017
13:16:36
Я вчера спрашивал же, и нагуглил
А в IL вроде есть tailcall

Friedrich
25.05.2017
13:25:42
Только на x64.
И только для .tailcall-префикса.

ichi4Ø4
25.05.2017
13:26:07
что за компилятор, где используется?
студия генерит без tailcall

Friedrich
25.05.2017
13:26:29
(ну то есть читай, что на самом деле почти никогда не оптимизирует, кроме искусственно созданных примеров)

ichi4Ø4
25.05.2017
13:26:33
.method private hidebysig static int32 Test(int32 i) cil managed
{
// Размер кода: 14 (0xe)
.maxstack 8
IL_0000: ldarg.0
IL_0001: brtrue.s IL_0005
IL_0003: ldc.i4.0
IL_0004: ret
IL_0005: ldarg.0
IL_0006: ldc.i4.1
IL_0007: sub
IL_0008: call int32 ConsoleApplication1.Program::Test(int32)
IL_000d: ret
} // end of method Program::Test

Friedrich
25.05.2017
13:26:45
Про рослин щас не знаю, проверю.

Nikolay
25.05.2017
13:27:51
Ну как новый, ему уже года 3-4 точно есть

ichi4Ø4
25.05.2017
13:28:32
тот же код, если x64 выбрать
правда у меня студия 15

Friedrich
25.05.2017
13:28:42
Просто новый компилятор JIT x64 для .Net
Здесь две стороны участвует: компилятор C# (который должен поставить .tailcall) и JIT-компилятор (который должен реализовать хвостовой вызов). Человек спрашивал про компилятор C#.

Google

Friedrich
25.05.2017
13:28:54

ichi4Ø4
25.05.2017
13:33:39
приходилось кому-нибудь использовать unsafe?

Friedrich
25.05.2017
13:33:48
Да, разумеется.
Маршал Ансейф — моё второе имя.

Му
25.05.2017
13:34:15
уоу уоу... рисковый парень

ichi4Ø4
25.05.2017
13:35:02

Friedrich
25.05.2017
13:35:34
csc.exe генерил tailcall, если явно указать платформу x64.
Простите, я ошибся. В своё время отлаживал кейсы типа вот такого — https://stackoverflow.com/questions/15864670/generate-tail-call-opcode — и CLR их действительно оптимизировала (сейчас на современной CLR и компиляторе не удалось воспроизвести). Похоже, что опкод .tailcall компилятор C# никогда не генерировал.

TheRainwildsKeeper
25.05.2017
13:53:15
mono обновился до 5.0
на линуксах теперь тоже csc
и msbuild вместо xbuild

Gid
25.05.2017
13:54:02

TheRainwildsKeeper
25.05.2017
13:54:25

Gid
25.05.2017
13:54:32
Нет

TheRainwildsKeeper
25.05.2017
13:54:37
кек

Gid
25.05.2017
13:54:40
Ну кроме dotnet
Для кора

TheRainwildsKeeper
25.05.2017
13:55:29
ну там удобнее CLI, да

superoleg
25.05.2017
14:00:33

Google

Nikolay
25.05.2017
14:01:34
А, я думал ты про автодополнение
Ну эта штука скорее всего просматривает метаданные библиотеки, где есть эти неймспейсы

TheRainwildsKeeper
25.05.2017
14:01:50
а почему не должно?
а, ты дллку
в другой проект
ок, странно

Admin
ERROR: S client not available

superoleg
25.05.2017
14:02:25

Му
25.05.2017
14:03:12
а есть кто паблишит из студии в ажуру asp.net core?
когда приложение запущено паблиш падает с ошибкой что файл на сервере занят, что понятно, приходится заходить на портал и стопать приложение, потом паблишить, потом опять стартовать приложение

Nikolay
25.05.2017
14:04:28
Короче, это ок, даже в EF видно)

superoleg
25.05.2017
14:08:15

Gid
25.05.2017
14:08:37
Там методанные
Если длл смотришь
Обычно чтоб посмотреть полный код то надо декомпиляции
Было б странно если бы метод не был в метаданных

Nikolay
25.05.2017
14:09:24

Nicholas
25.05.2017
14:11:23

Google

Nicholas
25.05.2017
14:11:36
Дикость, но приходится юзать

superoleg
25.05.2017
14:12:14

Ilya
25.05.2017
14:14:44
интернал видно на тот случай, если ты пометишь сборку аттрибутом InternalVisibleTo

superoleg
25.05.2017
14:18:03
А подскажите еще одну вещь, при использовании namespace'ов, классы которые находятся глубже имеют доступ к классам которые находятся выше в "иерархии" namespace. Стоит ли это использовать как замену использования using? Или лучше отдать предпочтение тому, что весь код будет разложен по разным namespace согласно логике работы этого кода.
Грубо говоря форму реализующую интерфейс положить в namespace Main, а код который её вызывает в namespace Main.AppInterface, тогда при вызове формы из MainAppInterface, using не понадобиться

Gid
25.05.2017
14:18:18
Сорян

Ilya
25.05.2017
14:20:09

Gid
25.05.2017
14:24:20
/ban

Михаил
25.05.2017
14:24:27
/ban

Олег
25.05.2017
14:24:35
/ban

Дмитрий
25.05.2017
14:24:49
/ban

Лолитка
25.05.2017
14:31:34
/ban

Vlad
25.05.2017
14:31:59
/ban

Nikolay
25.05.2017
14:41:19
https://blogs.msdn.microsoft.com/bharry/2017/05/24/the-largest-git-repo-on-the-planet/
Мс перешли на гит)

Дмитрий
25.05.2017
14:42:35
а было? tfs?
svn?
Эта группа больше не существует