Why can't the keyword this
be used in a static method? I am wondering why C# defines this constraint. What benefits can be gained by this constraint?
[Update]: Actually, this is a question I got in an interview. I do know the usage of 'static' and 'this', based on all your response, I guess I know a little of why the two can not be used together. That is, for static method is used to changed state or do something in a type level, but when you need to use 'this' means you want to change the state or do something in a instance level. In order to differentiate the state change of a type and the state change of an instance, then c# donot allow use 'this' in a static method. Am I right?
The keyword
this
refers to the instance of the object. In the static context there is not specific instance to reference.