@CSharpChatЭта группа больше не существует

Страница 1502 из 1888
Ilya
17.07.2017
10:40:50
+ если надо какую-то переменную в контексте запроса

let

у .Join() лютая сигнатура

но надо всё это редко

Google
Роман
17.07.2017
10:42:55
А есть такие кому он не нравится?
ты когда нибудь выполнял подсказку решарпера превратить цикл в линку выражение?

Dmitriy
17.07.2017
10:45:53
Gid
17.07.2017
10:52:29
Как заэнкодить урл

без хттпутилити

Владимир
17.07.2017
10:53:04
вебутилити

Gid
17.07.2017
10:53:24
ахуенно спасибо

Noir
17.07.2017
11:04:02
Добрый день! Есть контекстное меню у итема в TreeView, Как мне прибиндить IsEnabled к свойству в модели, а не к свойству у итема? <MenuItem Header="Старт" cal:Action.TargetWithoutContext="{Binding Path=PlacementTarget.Tag.DataContext, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}" cal:Message.Attach="[Event Click] = [Action Start($datacontext)]" IsEnabled="{Binding IsStartEnabled}"/> <!--оно биндится к свойству у datacontext —>

Nikita
17.07.2017
11:05:31
через ElementName или RelativeSource достучаться до контекста элемента выше

Noir
17.07.2017
11:05:56
Спс, щас погуглю

Klesh
17.07.2017
11:07:53
string query = uri.Query.Substring(1, uri.Query.Length - 1); —— System.ArgumentOutOfRangeException: "startIndex не может быть больше, чем длина строки."

в чем проблема ?

Max
17.07.2017
11:10:48
наверное, uri.Query == string.Empty ?

Klesh
17.07.2017
11:15:05
да

Google
Klesh
17.07.2017
11:15:11
спасибо :)

Vlad
17.07.2017
11:15:23
без хттпутилити
Uri.EscapeDataString() По памяти вроде оно.

Friedrich
17.07.2017
11:18:44
кто-то вообще таким линком пользуется?
Когда хочешь написать что-нибудь с join, тогда он намного более внятно выглядит.

Egor
17.07.2017
11:28:24
в большинстве случаев чейн линк куда лаконичнее

а вот большой запрос лучше словами :)

Сергей
17.07.2017
12:24:16
если взять signalr core на сервере

и signal r обычный на клиенте

они будут вместе работать?

Nikita
17.07.2017
12:28:59
нет, будут работать раздельно

один на клиенте, другой на сервере

Женя
17.07.2017
12:41:10
ку

как принудительно уничтожить объект своего класса?

Андрей
17.07.2017
12:41:31
DIspose

Женя
17.07.2017
12:41:44
как?

Андрей
17.07.2017
12:42:42
реализуешь интерфейс IDisposable и в методе Dispose реализуешь закрытие, очистку, удаление всякого говна, потом вызываешь его когда тебе надо удалть объект..

но лучше почитай, а то я давно такой садомией занимался

имхо GC нормально справляется если закрывать коннекты и тому подобное

Anatoly
17.07.2017
12:43:12
Google
Anatoly
17.07.2017
12:43:38
обычно dispose реализуют только если какой-то ресурс занят. ну или что-то в таком духе

а не чтобы было

Nikita
17.07.2017
12:43:48
использовать struct и свой аллокатор

будет ручное управление памятью

но зачем

Viktor
17.07.2017
12:44:03
Nikita
17.07.2017
12:44:18
ну человек хочет как в сишке

Viktor
17.07.2017
12:44:45
ну человек хочет как в сишке
а потом начнет блобы по 2гб выделять и в них память шевелить

Женя
17.07.2017
12:44:54
А ви с какой целью интересуетесь?
у меня класс - обертка над реальный физическим девайсом, надо чтобы были уничтожены все потоки, хендлы и закрыты порты, гарантировано

Anatoly
17.07.2017
12:45:03
Ну тогда твой путь - Dispose

Nikita
17.07.2017
12:45:30
> хендлы У тебя же не IntPtr, а SafeHandle, правда?

Женя
17.07.2017
12:47:47
фактически у меня нет хендлов в коде, они есть ниже, в нативных библиотеках которые управляют устройством через порты, а эти библиотеки вызыватся из шарпового кода

Friedrich
17.07.2017
12:48:42
Ну и у них обычно есть методы типа curl_free(CURL* curl), которые тебе и нужно вызывать.

Женя
17.07.2017
12:49:03
а GC.SuppressFinalize(МоЙ ОБЬЕКТ); сработает?

Friedrich
17.07.2017
12:49:18
Ты понимаешь, что он сделает?

Ivan
17.07.2017
12:49:24
=)

Женя
17.07.2017
12:49:28
нет

Friedrich
17.07.2017
12:49:43
Сработать-то сработает, но это 99% процентов не то, что тебе нужно.

Женя
17.07.2017
12:50:59
Google
Женя
17.07.2017
12:51:23
вот сразу даже статья нашлась https://habrahabr.ru/post/89720/

Nikolay
17.07.2017
12:51:45
у меня класс - обертка над реальный физическим девайсом, надо чтобы были уничтожены все потоки, хендлы и закрыты порты, гарантировано
В C# принято делать наследование от IDisposable, внутри метода Dispose нужно высвобождать все ресурсы. Тебе не нужно говорить сборщику мусора, "Эй, сборщик, убери ка мне этот мусор", тебе нужно просто грохнуть все ссылки на объекты, и он сам решит когда убрать мусор, главное не забыть грохание сделать :)

ау

Anatoly
17.07.2017
12:51:48
а GC.SuppressFinalize(МоЙ ОБЬЕКТ); сработает?
https://www.youtube.com/watch?v=oz85fnVr27k

Медведь в роли SuppressFinalize

Friedrich
17.07.2017
12:52:08
у меня класс - обертка над реальный физическим девайсом, надо чтобы были уничтожены все потоки, хендлы и закрыты порты, гарантировано
Есть два способа: сложный и более надёжный, и простой и менее надёжный. Оба не дают 100% гарантии. Сложный: финализатор + IDisposable (всё подробно описано тут: https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/dispose-pattern ) Простой: просто реализуешь IDisposable и следишь, чтобы никто из пользователей не забывал вызывать Dispose

Admin
ERROR: S client not available

Женя
17.07.2017
12:53:01
ок, спасибо!

Сергей
17.07.2017
12:53:03
Забавно, как особь женского пола любой внешности спрашивает какой-то вопрос в чатике программистов и ей разъясняют 5 абзацными сообщениями со ссылками на ответ на ее не сложный вопрос

Ivan
17.07.2017
12:53:10
можно обойтись одним Dispose, нужно только гарантировать его вызов

Сергей
17.07.2017
12:53:24
Обратное для каких-нибудь студентов или джуниоров парней не работает

Anatoly
17.07.2017
12:53:48
Пойду второй аккаунт создам. Чтобы с него вопросы задавать

Сергей
17.07.2017
12:54:08
Имхо и тем, и тем нужно просто намекать на решение вопроса

А то никто гуглить не умеет

Google
Андрей
17.07.2017
12:55:22
никто не исключение

Му
17.07.2017
12:56:13
когда небыло толком инета и чатиков в телеграме приходилось читать msdn и методом проб и ошибок искать то, что тебе нужно

Anatoly
17.07.2017
12:56:19
и все когда то задавали глупые вопросы
Это да. сейчас проще. В начале нулевых некому было задавать тупые вопросы. Ну или они задвались в оффлайне.

Nikolay
17.07.2017
12:56:22
Му
17.07.2017
12:56:35
причём msdn ставился локально с 4х компакт дисков :) а не тот который в инете

Андрей
17.07.2017
12:56:46
да так то

Nikita
17.07.2017
12:56:47
Т.е. в мс работают ненормальные люди?
мс сами написали SafeHandle lkz 'njuj

Nikolay
17.07.2017
12:57:09
мс сами написали SafeHandle lkz 'njuj
Я про стандартную библиотеку

Тот же SerialPort

Nikita
17.07.2017
12:57:26
стандартная библиотека писалась до SafeHandle

тот же Serial

Nikolay
17.07.2017
12:57:43
А SafeHandle когда появился?

Nikita
17.07.2017
12:58:01
его запилили по печальному опыту написания стандартной библиотеки

Serial писался во времена 1.1

SafeHandle завезли в 2.0

Страница 1502 из 1888

Эта группа больше не существует Эта группа больше не существует