Ah, I think I get the idea now. Though, C#'s idea of interfaces as opposed to multiple inheritence kind of disappoints me. It's particularily because of field inheritence. I guess the workaround if to have reference variables for every multiple class I'd want to use a variable from. Except the following code would be rather... burdenous:
Code:
pegasus.bird.animal.organism.thing.spaceOccupied = 5;
pegasus.horse.animal.organism.thing.materialized = true;
The intention of this example is completely random, but if I wanted to make a pegasus from a bird and horse and use the 2 parent class variables, the above would be cumbersome. I could always derive Pegasus from Animal, but I'd have to copy and paste everything from both classes into Pegasus, and even then it wouldn't be allowed to be placed into an array of Birds or an array of Horses.