I'm a geekette who enjoys playing with new technology for software developers. I work as a Developer Evangelist for Microsoft. My current focus is on machine learning and big data on Azure.
This week, Bill Wagner will release his second book, More Effective C#. (Can you guess what his first book was called?) The editorial reviews on Amazon are extremely impressive: members of the Visual C# product team and Microsoft MVPs praise Bill's latest work.
Bill is speaking at the Ann Arbor Computer Society in November. Bill's talk, entitled "Faking the Type System: Implementations in interfaces and non-existent types," will be a discussion from his book.
His book will be on sale during the event, and he will be available to sign copies. Come out and support him:
Here’s the abstract for the talk:
Extension methods provide a mechanism for C# developers to define behavior in interfaces. You can define an interface with minimal capabilities and then create a set of extension methods defined on that interface to extend its capabilities. In particular, you can add behavior instead of just defining an API.
You’ll probably use a number of constructed generic types in your application. You’ll create specific collection types: List<int>, Dictionary<EmployeeID, Employee>, and many other collections. The purpose of creating these collections is that your application has a specific need for a collection of a certain type and you want to have specific behavior defined for those specific constructed types. To implement that functionality in a low-impact way, you can create a set of extension methods on specific constructed types.
With more than 20 years experience in software design and engineering, Bill Wagner has led the design on many successful engineering and enterprise Microsoft Windows products and adapted legacy systems for Windows.
In 2000, he started using .NET and now spends his time facilitating the adoption of .NET in clients’ product and enterprise development. Knowledgeable in all .NET areas, Bill’s principal strengths include the C# language, the core framework, Smart Clients, and Service Oriented Architecture and design.