Pattern-based C#: if it quacks like a duck…

Room 7Tue 27 Oct • 13:15–14:15DevIntermediate
C# is a strongly typed programming language, to communicate expectations in a statically verifiable fashion across the .NET ecosystem. For example features such as LINQ require the type-in-use to implement a certain interface (e.g., the generic IEnumerable interface). Well, there is the dynamic keyword, but this is used quite rarely because it circumvents the type safety and has a measurable performance impact. However, there is a set of features that the compiler allows you to safely enable on types by satisfying a particular shape, rather than through inheritance and implementation. Features like: - use any type within foreach statements - apply the await operator to any type - tuple-like deconstruction of internal and external types - implicit Index and Range support - collection initializers and expressions for user-defined types and more. Join our live coding session for a deep dive into the patterns recognized by the Roslyn compiler to learn how to augment reusable types for most convenient and idiomatic consumption in libraries and applications alike. If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.

About the speakers

Eva Ditzelmüller

I am a Software Engineer at Radancy in Vienna, where I spend my time working with C#, Rust, and AWS. My path to tech was not exactly linear. I started with a B.A.(Hons) in Acting and spent time as a production assistant and performer in London before diving into computer science. That background in performance has stuck with me, leading me to host a regular live-coding stream (2code ^ !2code) and speak at conferences like NDC Oslo and Techorama BE. For my work I was named Jetbrains Comunity Contributer and I enjoy finding ways to make software engineering fun and accessible for people from all backgrounds.

Stefan Pölz

Stefan's passion is to practice Clean Code and test-driven development in order to build maintainable high-performance software in an ever-evolving team, supported by tools from the .NET Ecosystem. He loves to attend and speak at public developer events, co-organize local community gatherings, stream live programming sessions, and author open source projects, complementing his expertise in professional software development. As Microsoft MVP (Developer Technologies), JetBrains Community Contributor (.NET) and co-organizer of DotNetDevs.at, it's his ambition to share knowledge about everything C#.