Why can't you use the keyword 'this' in a static method in .Net?
I'm trying to use the this
keyword in a static method, but the compiler won't allow me to use it.
Why not?
Solution 1:
That's an easy one. The keyword 'this' returns a reference to the current instance of the class containing it. Static methods (or any static member) do not belong to a particular instance. They exist without creating an instance of the class. There is a much more in depth explanation of what static members are and why/when to use them in the MSDN docs.
Solution 2:
As an additional note, from a Static method, you can access or static members of that class. Making the example below valid and at times quite useful.
public static void StaticMethod(Object o)
{
MyClass.StaticProperty = o;
}