Today I will write about the way variance influences type checking in C#. Yes, the fact that one type can be passed to a generic method that requires another type, depends on these 2 small keywords we write before ‘T’ (or whatever 😉) in interface header.
Sztuka programowania 2027 dni, 8 godzin, 18 minut temu 99 źrodło rozwiń
Have you ever seen these mysterious ‘in’ and ‘out’ keywords in generic interfaces’ definitions? If so, you’ve probably already checked what it means, but if not… You better read this and the next post. So today we will talk about the basics of variance in our own generic interfaces.
Sztuka programowania 2033 dni, 8 godzin, 9 minut temu 125 źrodło rozwiń
A few days ago, a friend o mine had a very interesting issue with C# code he had written...
Sztuka programowania 2465 dni, 5 godzin, 26 minut temu 222 źrodło rozwiń
It’s pretty funny to me when you think that you know some programming language quite well and suddenly you find out some feature, you’ve never heard before. I mean at all. That’s exactly what happened to me yesterday. Let’s see what’s that. Generics are very useful in programming since we can avoid writing similar code multiple times. But when we start to complicate them too much, it quickly reduces the legibility of the code. Of course, I don’t claim that whe...
Sztuka programowania 2732 dni, 9 godzin, 16 minut temu 208 źrodło rozwiń
dspannonymous methods, annonymous types, extension methods, generics, LambdaExpressions, LINQ, object initializer, varkubaGdzie są te fjuczery? Tyle postów pisałem tylko o rzeczach, na których LINQ został zbudowany. Ale gdzie one są? Tyle dodatków do języka dla jednego prostego zapytania?
Daj się poznać 2017 2773 dni, 17 godzin, 33 minuty temu 94 źrodło rozwiń
I've seen many posts about generics in C# lately. And while they cover basics pretty well, most of them doesn't contain information about constraints which are things that causing generics to be really fun.
Daj się poznać 2017 2839 dni, 4 godziny, 44 minuty temu 115 źrodło rozwiń
Pingwiny no i typy generyczne! Czym są typy generyczne? Jakie mamy korzyści z korzystania z typów generycznych?
Sztuka programowania 2841 dni, 18 godzin, 30 minut temu 85 źrodło rozwiń
A więc zaczynamy przygodę z LINQ! Na pierwszy ogień biorę ‘generyczność’ czy ‘generics’ jak kto woli. Wspaniały, cudowny, dodaj swoje fjuczer, który zostal wprowadzony wraz z C# 2 i .NET 2.0. Dlaczego na pierwszy ogień? Bo według mnie to najważniejsza rzecz wprowadzona w tamtych czasach. Zapewne niewielu czytających pamięta czasy sprzed kolekcji generycznych. Śpieszę z przypomnieniem.
Daj się poznać 2017 2837 dni, 6 godzin, 53 minuty temu 53 źrodło rozwiń
Sometimes it happens that we use mechanisms/features of specific language without beeing aware of it. That’s fine, but if you’ll want to discuss your code in a future to the audience or coworkers, soon or later you’ll be forced to learn it and understand (or at least name it using technical nomenclature). Therefore, today I’m going to discuss two related „mechanisms” of C# which are covariance and contravariance. Covariance Covariance is a type conversion from the specific type to the more general (ba...
Sztuka programowania 2927 dni, 20 godzin, 6 minut temu 189 źrodło rozwiń
I would like this blog post to serve as a quick reference that recalls the basic concept of covariant and contravariant type parameters of generic interfaces in the C# language.I tried to keep the example as simple as possible. Included comments explain the key points. No long stories and no dissertations.
Sztuka programowania 4188 dni, 7 godzin, 42 minuty temu 63 źrodło rozwiń