Size: a a a

var chat = new Chat();

2020 November 10

OZ

Oleksii Zaichenko in var chat = new Chat();
Artur Mustafin
в случае, когда IsCompleted имеет значение отлично от true, код не валидный, например, вызвался CallbackToken, и IsCompleted кто-то поставил в false, идентифицируя таким таким образом fail state
Нет, если не выполнялся await на этом task'е, то IsCompleted == false - штатная ситуация
источник

AM

Artur Mustafin in var chat = new Chat();
Oleksii Zaichenko
Нет, если не выполнялся await на этом task'е, то IsCompleted == false - штатная ситуация
ну тогда, получается, что стейт null никогда не выставляется?
источник

AM

Artur Mustafin in var chat = new Chat();
может быть, хотя не верю что Nullabe тут не работает
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
Task Foo() => null - валидный метод
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
Oleksii Zaichenko
Task Foo() => null - валидный метод
Task Foo() => new TaskCompletionSource().Task; - а тут IsCompleted вообще всегда false. Примеры утрированны, но, надеюсь,  суть ясна
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
Artur Mustafin
может быть, хотя не верю что Nullabe тут не работает
Где не работает?
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
Artur Mustafin
лучше так

if (someTask?.IsCompleted.HasValue && someTask?.IsCompleted.Value == true)
Тогда уж if (someTask?.IsCompleted == true)
источник

AM

Artur Mustafin in var chat = new Chat();
Oleksii Zaichenko
Task Foo() => new TaskCompletionSource().Task; - а тут IsCompleted вообще всегда false. Примеры утрированны, но, надеюсь,  суть ясна
ну, каков вопрос, таков ответ. обычно, это признак плохого дизайна, если там где можно обойтись bool, используют Nullable<bool>
источник

OZ

Oleksii Zaichenko in var chat = new Chat();
Artur Mustafin
ну, каков вопрос, таков ответ. обычно, это признак плохого дизайна, если там где можно обойтись bool, используют Nullable<bool>
Да, там нужно смотреть каким образом получилась эта task, что есть подозрение на то, что она null. Да ещё и IsCompleted явно проверяется
источник

ВК

Віктор Крохмаль... in var chat = new Chat();
напомните плис, если я хочу скрыть тип за каким-то названием - как это делать ?
дабы вместо
string test {get;set;}
написать
MyType test {get;set;}
где MyType это стринг
источник

UD

Uno Dark in var chat = new Chat();
Віктор Крохмаль
напомните плис, если я хочу скрыть тип за каким-то названием - как это делать ?
дабы вместо
string test {get;set;}
написать
MyType test {get;set;}
где MyType это стринг
Sting is sealed поэтому никак
источник

ВК

Віктор Крохмаль... in var chat = new Chat();
Uno Dark
Sting is sealed поэтому никак
да ну там же была какая-то синтаксическая конструкция
источник

Е

Енотечка in var chat = new Chat();
Віктор Крохмаль
напомните плис, если я хочу скрыть тип за каким-то названием - как это делать ?
дабы вместо
string test {get;set;}
написать
MyType test {get;set;}
где MyType это стринг
Обертку ебани
источник

UD

Uno Dark in var chat = new Chat();
Но ты можешь сделать свой клас MyClass{ string property {get;set;} }

И юзать его
источник

ВК

Віктор Крохмаль... in var chat = new Chat();
Енотечка
Обертку ебани
типа создать новый клас ? Хмм ну такое
источник

🎄L

🎄 lexey Litvinov in var chat = new Chat();
implicit operator мб
источник

ВК

Віктор Крохмаль... in var chat = new Chat();
Uno Dark
Но ты можешь сделать свой клас MyClass{ string property {get;set;} }

И юзать его
типа просто это немного оверинжениринг
источник

🎄L

🎄 lexey Litvinov in var chat = new Chat();
но зачем, если можно просто стрингу
источник

ВК

Віктор Крохмаль... in var chat = new Chat();
🎄 lexey Litvinov
но зачем, если можно просто стрингу
ну а если потом это будет не стринга ?
источник

ВК

Віктор Крохмаль... in var chat = new Chat();
там просто штука, которую чую захотят поменять
источник