为何使用this关键字会导致我的DLL编译失败?
问题原因及解决方向
核心原因
你这段代码所在的上下文是静态成员(静态方法、静态属性或者静态字段初始化逻辑),而this关键字的作用是引用当前类的实例对象——静态成员属于类本身,不属于任何具体实例,所以在静态环境里不存在可被this指代的对象,编译器就会抛出这个错误。
对应代码的问题
看你提供的代码:
this.LobbyWindow = GUI.Toggle(new Rect(10f, 80f, 100f, 20f), this.LobbyWindow, "page one");
你通过this.LobbyWindow访问成员,但这段代码所在的方法/属性被标记为static,导致this无法被识别。
解决方向
- 如果
LobbyWindow是静态字段/属性:直接移除this.前缀,写成LobbyWindow = GUI.Toggle(...)即可 - 如果
LobbyWindow是实例字段/属性:把包含这段代码的方法/属性的static修饰符去掉,改成实例成员
内容的提问来源于stack exchange,提问作者Blake Bentley
相关产品推荐
相关产品推荐

