Actionscript 3 使flex编译器警告具有相同名称的变量丢失作用域
假设您有一个带有成员变量的类Actionscript 3 使flex编译器警告具有相同名称的变量丢失作用域,actionscript-3,apache-flex,warnings,Actionscript 3,Apache Flex,Warnings,假设您有一个带有成员变量的类 private var radius:Number; 然后在一个方法中创建一个同名的局部变量 private function func():void{ var radius:Number = 5; } 我可以让Flex编译器警告我这种情况吗?我可能真的想使用成员变量而不是我刚刚定义的局部变量 编辑:我想flex编译器不能这么做。很难让as3线头工具做到这一点吗?我的意思是,我会编写代码。您可以在Flex SDK的Flex-config.xml文件中的以
private var radius:Number;
然后在一个方法中创建一个同名的局部变量
private function func():void{
var radius:Number = 5;
}
我可以让Flex编译器警告我这种情况吗?我可能真的想使用成员变量而不是我刚刚定义的局部变量
编辑:我想flex编译器不能这么做。很难让as3线头工具做到这一点吗?我的意思是,我会编写代码。您可以在Flex SDK的Flex-config.xml文件中的以下位置找到编译器警告列表:
frameworks/flex-config.xml
在Flex SDK 4.6中,Flex-config.xml中没有列出符合您要求的警告
有关Flex编译器警告的更多信息,请查看Adobe帮助文档。FlexPMD已经做到了这一点 类属性被此局部变量隐藏
private var radius:Number;
在FlashDevelop中,它被称为“分析项目源代码”,问题是,它有太多的错误警报,或者警告,它们并不重要,以至于这个问题可能会被忽略
您可以通过编辑位于Program Files/FlashDevelop/Tools/flexpmd中的文件default-ruleset.xml(或者您可以创建另一个并在Program Settings->Code Analyzer上进行设置)来自定义此规则集
此外,为了简化操作,您可以在“工具”->“键盘快捷键”->“FlashToolsMenu.AnalyzeProject”中创建快捷键,如果可能的话,我会非常惊讶,它是程序员经常需要的语言的基本部分。不,flex编译器没有此类警告的标志。
this。radius
将显式引用成员变量,而不是局部范围的变量。正如@32bitkid所说,如果您在类变量前面加上this。
(我发现这也有助于澄清),那么你永远不会遇到这个问题问题问题是,当我遇到这个问题时,我不知道我在做什么。我不认为一直使用这个方法真的是一个解决方案。