为什么不能在静态方法中使用关键字this
?我想知道为什么 C# 定义了这个约束。这种约束可以获得什么好处?
[更新]: 实际上,这是我在面试中得到的一个问题。 我确实知道“static”和“this”的用法,根据您的所有回复,我想我知道为什么两者不能一起使用。也就是说,静态方法用于改变状态或在类型级别做某事,但是当你需要使用'this'时意味着你想改变状态或在实例级别做某事。为了区分类型的状态变化和实例的状态变化,c#不允许在静态方法中使用'this'。我说得对吗?
最佳答案
因为 this
指向类的一个实例,所以在静态方法中你没有实例。
你会注意到静态成员的定义是
这就是为什么 this
没有指向的原因。
关于c# - 为什么不能在静态方法中使用关键字 'this'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3459282/