In other cases, the number of “virtual” properties exposed could be dynamic and the code below demonstrates that by using a List Person Collection pc = new Person Collection(new Person Full Name Age View()); pc.Component Model is assumed in all of the following classes): I am using the Strategy pattern to allow specification of the view builder.If you needed to provide multiple, simultanous views of the same underlying collection, you would need to use a different design.Obviously, you could have just implemented Full Name and Age as public properties on Person.From a purist standpoint, I would argue that making changes to the Person class solely for display purposes not necessarily a good thing.
ITyped List allows you to create “views” of objects for databinding purposes without actually having to modify the object(s) underlying the view.