When .NET introduced Generics, they were largely used in the Base Class Library to support strongly-typed collections. But Generics also open the door to a richer vocabulary for us to use to express our intent in code. In this session we will explore the multitude of uses for .NET Generic Types beyond collections including creating more flexible class declarations and method signatures as well as understanding the role of generic type constraints.
Currently a Principal Software Engineer for the Technology, Evangelism, and Development (TED) Team within Microsoft Corporation, Stephen brings his varied 20-plus-years of experience as a former practicing Architect, CAD Manager, IT Technologist, Software Engineer, CTO, and consultant to assist select Microsoft Partner organizations in their adoption of cutting-edge and pre-release Microsoft developer products and technologies.
Stephen is also an active contributor to several Open-Source Software projects including NHibernate, Spring.NET, Common.Logging, NDbUnit, Common.Logging, and others.
Active in the software development community, Stephen speaks publicly, blogs (semi-)regularly, and is the author of several popular screencast series focused on Agile and ALT.NET concepts and technologies including the widely-praised 15-part Summer of NHibernate video series introducing viewers to the popular open-source O/RM tool. Stephen is also a founding/organizing member of the NYC ALT.NET user group as well as a co-organizer of the New York City Domain Driven Design User Group. For the past several years, he has been the Chairperson of the annual New York City Code Camp event. He has also been a Microsoft MVP award recipient in Solution Architecture, ASP.NET, and Visual C#, a member of the ASP Insiders and the Visual C# Insiders, and formerly held the office of the Vice President for INETA, North America.