Size: a a a

2021 March 26

Lr

Larymar r.sorokin in .NET Talks 🎄
λетучая Рыба
но Егор Бугаенко бы загрыз наверно
Почему
источник

С(

Сергей (F L ) in .NET Talks 🎄
Хотя идея с делегатом, вместо интерфейса неплохая
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in .NET Talks 🎄
Mr. N
не норм
Iq 0
источник

IC

Ilya L Che in .NET Talks 🎄
Но ведь делегат - это и есть интерфейс, просто с одним методом.
источник

λР

λетучая Рыба... in .NET Talks 🎄
Larymar r.sorokin
Почему
потому что:
а) объект в таком случае не будет иммутабельным
б) до вызова Startup им пользоваться нельзя (а это будет очевидно только в рантайме)
источник

λР

λетучая Рыба... in .NET Talks 🎄
Ilya L Che
Но ведь делегат - это и есть интерфейс, просто с одним методом.
ага
источник

С(

Сергей (F L ) in .NET Talks 🎄
Можно извратится и заполнять данные через метод, а не конструктор, и тогда голой переменной не будет.
источник

Lr

Larymar r.sorokin in .NET Talks 🎄
Сергей (F L )
Можно извратится и заполнять данные через метод, а не конструктор, и тогда голой переменной не будет.
Только что жеж обсудили
источник

IC

Ilya L Che in .NET Talks 🎄
А давайте перепишем на хаскель?
источник

λР

λетучая Рыба... in .NET Talks 🎄
кстати именованный делегат даже покрасивее будет delegate CreateT(string parameter);
источник

Lr

Larymar r.sorokin in .NET Talks 🎄
Ilya L Che
А давайте перепишем на хаскель?
На фарш
источник

IC

Ilya L Che in .NET Talks 🎄
Там эта задача получше решается, кстати.
источник

С(

Сергей (F L ) in .NET Talks 🎄
Larymar r.sorokin
Только что жеж обсудили
Я на минуту подумал что это та же фича что и у меня, где возвращается экземпляр класса.
источник

С(

Сергей (F L ) in .NET Talks 🎄
Вместо заполнения
источник

λР

λетучая Рыба... in .NET Talks 🎄
λетучая Рыба
class Example {
 public Example(
   Func<string, T> factory) =>
   _factory = factory;

 public Task DoStuff() {
   var instance = _factory("Hola");
 }
}

var example = new Example(str => new TImpl(str));
delegate CreateT(string parameter);

class Example {
 public Example(
   CreateT factory) =>
   _factory = factory;

 public Task DoStuff() {
   var instance = _factory("Hola");
 }
}

var example = new Example(str => new TImpl(str));
источник

IC

Ilya L Che in .NET Talks 🎄
Ilya L Che
Но ведь делегат - это и есть интерфейс, просто с одним методом.
Осталось в сишарпе добавить сахар для реализации анонимных интерфейсов по месту использования, хм.
источник

λР

λетучая Рыба... in .NET Talks 🎄
именованные делегаты крута
источник

MN

Mr. N in .NET Talks 🎄
источник

IC

Ilya L Che in .NET Talks 🎄
источник

λР

λетучая Рыба... in .NET Talks 🎄
спасибо!
источник