Scott M. said:
What is that area called?
Well, it's on the heap, although part of a special heap whose name I
can't remember off the topc of my head. The important thing is that
it's logically distinct - the data for the static members isn't stored
alongside any particular instance.
That's why I don't like the VB term "Shared" - it makes it sounds like
it's shared between instances, rather than being specific to the type
and not to *any* instance. The C# term "static" is also far from
informative, however, and raises other issues
I was thinking more along the lines that, rather than the data being stored
with instances (as you describe), one (1) instance is created that all other
types of the same type utilize, thereby avoiding the copies you describe.
No, there's no need to have any instances for that - it would be messy
and inelegant. Why create an instance at all if you're not going to use
the instance data in it, and *are* going to have extra data just for
that object?