Please see:
http://msdn.microsoft.com/en-us/library/zc2b427x.aspx[
^].
The type members can be shared or not. Those which are not shared are called
instance members, because they a related to an instance of a type, not a type "at large" (in the pretty awkward phrasing used in the MSDN library referenced above). Different instances of the type with such members generally have different values (or referenced) of such members. Let's say you have a class
MyClass
with integer field or (read/write) property
MyInstanceMember
and Shared properly or field
MySharedMember
. Then
MyClass.MyInstanceMember = 3
MyClass.MySharedMember = 4
What to do? Quite certainly, not to develop UI applications, or communications, or anything advanced. You are not ready yet. Instead, set it all aside and try to learn at least the basics of .NET, the language and OOP. Types versus instances, value types versus reference types, references, constants, variables and members, properties, delegates and events, all that stuff. And ultimately, OOP, up to virtual methods, late binding, polymorphism, interfaces, their declaration, implementation and use. It's the best to do it while doing exercises based on simple console-only application. If you jump right to real work, as you already did, you will only waste too much time and won't get real experience. Very seriously.
—SA