5.4. Understanding the static Keyword

A C# class may define any number of static members using the static keyword. When you do so, the member in question must be invoked directly from the class level, rather than from an object reference. To illustrate the distinction, consider your good friend System.Console. As you have seen, you do not invoke the WriteLine() method from the object level:

// Error!  WriteLine() is not an object level method!
Console c = new Console();
c.WriteLine("I can't be printed...");

but instead simply prefix the class name to the static WriteLine() member:

// Correct!  WriteLine() is a static method.
Console.WriteLine("Thanks...");

Simply put, static members are items that are deemed (by the class designer) to be so commonplace ...

Get Pro C# 2010 and the .NET 4 Platform, Fifth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.