Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 使flex编译器警告具有相同名称的变量丢失作用域_Actionscript 3_Apache Flex_Warnings - Fatal编程技术网

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。
(我发现这也有助于澄清),那么你永远不会遇到这个问题问题问题是,当我遇到这个问题时,我不知道我在做什么。我不认为一直使用这个方法真的是一个解决方案。