(This question was closed on Stack Overflow due to being "too broad" and "not a real question" so maybe it's more appropriate here?)
Inspired by this question. We know events are a language-level implementation of the Observer pattern. Are there other design patterns implemented as language features in C#? I want to keep this question C#-specific because there are lots of design patterns implemented in other languages, and I want to keep this focused.
I'm not looking for pattern implementations in the BCL (such as decorator in many WCF classes or Factory Method in
WebClient), but language-level patterns.
So far I'm aware of observer (
event) and iterator (
foreach in combination with many BCL classes and interfaces). There are probably other obvious ones I'm missing.