Can you Nest Enums?
Someone asked me "is there a way to nest Enums in .Net?" This crazy tree-of-life example is what i came up with... anyone got a better idea? Namespace Enums Enum Enums unknown End Enum Namespace Animals Namespace Mammals Enum Domestic cattle pig dog sheep cat End Enum Namespace primates Enum Monkeys spidermonkey reesus End Enum Namespace apes Namespace Greatapes Enum humanoid homosapien neanderthal End Enum Enum Nonhumanoid orangutan mountaingorilla chimpanzee End Enum End Namespace Namespace lesserApes Enum baboons fatheadedbaboon georgeWbush End Enum End Namespace End Namespace End Namespace End Namespace Enum Fish cod trout End Enum End Namespace End Namespace
'Steve in Korea' on Fri, 13 Aug 2004 03:26:28 GMT, sez: It appears that you're attempting to follow taxonomy, which goes (Phylum or Division), Class, Order, Family, Genus, Species, but the "Domestic" is throwing everything for a loop.
Taxonomy relates bears to dogs to chimps to humans:
Phylum: Chordata
.. Class: Mammalia
.. .. Order: Primates
.. .. .. Family: Hominidae (Great Apes)
.. .. .. .. Genus: Homo
.. .. .. .. .. Species: sapiens (Humans)
.. .. .. .. Genus: Pan
.. .. .. .. .. Species: troglodytes (chimpanzee)
.. .. .. .. .. Species: paniscus (pygmy chimp)
.. .. .. .. Genus: Pongo (orangutan)
.. .. .. .. .. Species: Pongo pygmaeus (orangutan)
.. .. Order: Carnivora
.. .. .. Family: Canidae (Dogs)
.. .. .. .. Genus: Canis
.. .. .. .. .. Species: lupus
.. .. .. .. .. .. Subspecies: familiaris (domestic dog)
.. .. .. Family: Ursidae (Bears)
.. .. .. .. Sub-family: Ursinae
.. .. .. .. .. Genus: Ursus
.. .. .. .. .. .. Species: maritimus (polar bear)
.. .. .. .. .. Genus: Melursus
.. .. .. .. .. .. Species: ursinus (sloth)
The double periods is where you need to stick your Namespace/Enum statements.
(Sorry about the spacing, but the "no html" rule prohibits the use of the "pre" tag, which would have made this a bit cleaner.)
'secretGeek' on Fri, 13 Aug 2004 04:33:44 GMT, sez: cheers Steve -- very clever way of overcoming the non-html rule.
yeh i know my taxonomy was all wrong -- it's more the implementation method I'm interested in.
But thanks for mentioning taxonomies -- i find this stuff fascinating. I just spent a little while looking through the "Tree of Life"" website -- a good starting point is: at "http://tolweb.org/tree/home.pages/popular.html"
i looked through it a few years ago -- it's much better now.
lb
'Steve in Korea' on Fri, 13 Aug 2004 06:10:18 GMT, sez: This one's pretty detailed, too.
http://animaldiversity.ummz.umich.edu/site/accounts/ classification/path/Homo.html.html
(.html.html isn't a typo)
'Mike in Denver' on Fri, 13 Aug 2004 12:22:14 GMT, sez: Oops - you left out johnkerry from the Animals.Mammals.primates.apes.lesserApes.baboons
'secretGeek' on Sun, 15 Aug 2004 05:08:04 GMT, sez: cheers denver mike... yep there's a lot of items missing from that particular namespace.
To be more accurate i should've placed politicians under the chordata phylum, in the subphylum Urochordata, alongside sea squirts and tunicates.
But there just wasn't time to place all the non-vertebrates in their correct alignment.
|