Using Shared Members
The properties and methods of a class can be either instance members or Shared members. Instance members are associated with instances of a type, while Shared members are associated with the class, and not with any particular instance.
You may access a Shared member through the name of the class in which it is declared. For example, suppose you have a class named Button and have instantiated objects of that class named btnUpdate and btnDelete.
Suppose that the Button class has an instance method Draw and a Shared method GetButtonCount. The job of Draw is to draw the current button; the job of GetButtonCount is to return the number of buttons currently visible on the form.
You access an instance method through an instance of the class; that is, through an object:
btnUpdate.SomeMethod()
You access Shared methods through the class name (rather than through an instance):
Button.GetButtonCount()
The Shared method is considered a method of the class rather than of an instance of the class, and you do not need an instance of the class to access the method.
Tip
Methods are instance methods unless you explicitly mark them with the keyword Shared.
A common use of Shared member variables is to create utility classes with useful methods and not force clients to create an instance if the class just to access the method.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access