Владислав
а можешь так
Владислав
class A{ public Action CallOnEnd; public void DoStuff() { //something CallOnEnd(); } } void Main(){ var a = new A(); a.CallOnEnd = ()=>{/*called after task */}; a.DoStuff(); }
Владислав
добро пожаловать в события
Владислав
чтобы твои события были овер красивыми
Владислав
можно сделать класс Event
Владислав
перегрузить у него оператор +=
Владислав
который добавляет в массив делегатов твои функции
Владислав
и добавиь метод Invoke
Владислав
который их все вызывает
Владислав
и будешь ты юзать такое
Владислав
public Event<Action> OnExit;
Владислав
OnExit += ()=>{}
Владислав
и где-то после завершения работы OnExit.Invoke()
Владислав
могу рабочий пример написать
Владислав
если не понял
RA-TA-TATA
что-то мне далеквато до такого)
RA-TA-TATA
Как бы не читал, туго в понимание
RA-TA-TATA
МОжет завтра на светлую, бодрую голову легче зайдет :D
Владислав
надо просто прогуглить примеры
RA-TA-TATA
Да, потому что в голове даже примера нет, чтобы подставить все это
RA-TA-TATA
По этому и кажется непонятным
RA-TA-TATA
Практика нужна, чтобы разобраться
Boss
Кто-то создавал расширения для vs?
Boss
Нужна помощь
Boss
Почему-то тайпскрипт не компилится автоматом. Есть тут знатоки nodejs?
Boss
Постоянная надпись "building..."
Boss
Такое ощущение, что что-то с окружением, весь день голову ломаю. Удалось только выяснить, что typescript можно скомпилить вручную, но мне нужно чтобы автоматом это происходило. Вроде и в жсонах все прописано как надо, но что-то вс код тупит.
RA-TA-TATA
Подскажите в чем разница между функцией и методом? Сколько прочитал, везде функция = методу
Boss
Или объекта
Boss
Зависит от яп
Никита
Функций на сколько я знаю нет в шарпе
Александр
полиморфизм - когда B говорит, что он непрочь быть A, все равно умеет то же самое
В каких ситуациях это полезно в программировании? Тем более если В умеет все тоже самое что и А....смысл во всем этом тогда?
Никита
http://mycsharp.ru/post/32/2013_08_27_polimorfizm_v_si-sharp_chto_eto_takoe_.html
Никита
Меньше кода
Никита
Написал один класс
Никита
Определил там методы
Никита
А потом переопределить если надо
Никита
Да и все
Egor
В каких ситуациях это полезно в программировании? Тем более если В умеет все тоже самое что и А....смысл во всем этом тогда?
Простой пример: есть базовый метод GetHashCode(), я его переопределяю на случай, если мне надо сравнивать объекты по определенным полям. Типа сравнить оригинал объекта с изменённым, чтобы в интерфейсе вывести кнопку «сохранить изменения». Или допустим в интерфейсе если выделить кучу объектов, сравнить их, чтобы понять какие общие поля настроек выводить. Да кучу примеров ещё можно привести )
Владислав
если ты пишешь пэинт
Владислав
у тебя есть класс Brush с методом Paint(Bitmap img)
Владислав
ты наследуешь кучу разных кистей
Владислав
и везде рисуешь по разному, переопределяя метод Paint
Владислав
потом у тебя есть массив List<Brush> brushes с кистями
Владислав
переменная Brush currentBrush. При смени кисти ты берешь нужную и кидаешь в currentBrush
Владислав
и тебе нее важно какая кисть
Владислав
при нажатии ты вызываешь currentBrush.Paint(currentMap)
Владислав
все
Владислав
вся твоя логика рисования не в однйо куче
Владислав
и если тебе нужна новая кисть - ты пишешь новый класс
Владислав
а не меняешь старый
Владислав
кажется только проделками перфекциониста
Владислав
пока ты не делаешь плагины...
Владислав
а делая плагины ты можешь писать отдельную сборку(dll) со своими кистями и подгружать динамически
Владислав
да и код выглядит логично, если ты не сишник конечно, им такое не дано
RA-TA-TATA
Подскажите, в wpf есть замена FolderBrowserDialog()?
RA-TA-TATA
или его только из Forms вытягивать?
Никита
Из формс
Никита
var dialog = new System.Windows.Forms.FolderBrowserDialog();
Tomas
приветствую коллеги, нужна помощь
Tomas
есть запрос на добавление данных в бд mysql, вот он
Tomas
числовые данные он добавляет, а буквы невкакую
Tomas
вот свойства таблицы
Никита
буквы должны быть в апострофах
Никита
'name'
Никита
ytn
Никита
нет
Никита
string a = $"UPDATE Goods SET Name = '{ContractorName}' WHERE ID = 3";
Никита
попробуйтак
Никита
string a = "UPDATE Goods SET Name = '" + ContractorName + "' WHERE ID = 3";
Никита
или так
Tomas
немного непонятно что это, но пробую
Tomas
все равно пишет ошибку
Никита
rfre.
Никита
какую
Tomas
опа, сработало
Tomas
спасбо чувак)