In this chapter, you'll learn about object-oriented programming in C# and Delphi for .NET, and about several new features added to the Delphi for Win32 language. Specifically, you'll learn how to add to your Win32 and .NET classes the ability to be used with the foreach loop (C#) and the for-in loop (Delphi for Win32 and Delphi for .NET), how to create lightweight classes (records/structures with methods and properties), how to overload operators in Delphi (both flavors) and C#, how to create and use delegates, and how to implement single-cast and multicast events in Delphi and C# classes.