【问题标题】:Created new package and imported but Definition not found创建新包并导入但未找到定义
【发布时间】:2013-10-29 04:32:20
【问题描述】:

我创建了一个名为 parseLine 的简单解析器包。 我把它放在我项目的一个包里。 在 parseLine 中,我有一个名为“myParse”的类。 我可以很好地导入它。 导入 parseLine.myParse.*; 但是当我编译时出现错误“1172:Definition parseLine.myParse 找不到。”。

我知道这是非常基本的,但如果我能提供任何帮助,我将不胜感激。

【问题讨论】:

    标签: actionscript-3 apache-flex flash-builder


    【解决方案1】:

    myParse 不是一个包,它是一个类,所以你导入不正确。

    包的基本结构:

    src / my / package / name / ClassName
    

    要导入ClassName,你可以这样:

    import my.package.name.ClassName;
    

    import my.package.name.*;
    

    ClassName 中,它必须具有以下设置:

    package my.package.name {
        public class ClassName {
            // class code goes here
        }
    }
    

    作为附加提示,您应该遵循 AS3 的标准命名方案。

    • 包名称应全部小写。即使是多个单词。 my.packagename 是正确的,而 my.packageName 不是。
    • 类名应为大写驼峰式。所以ClassName 是合适的,而classNameclassname 不合适
    • 所有对象,包括函数,都应该是小写的Camelcase。所以var someObject 是正确的,而var SomeObject 不是(function doSomething() vs function DoSomething() 相同)
    • 常量应为 UPPERCASE_UNDERSCORE_SEPARATED。所以const SOME_CONSTANT_VALUE 是正确的,而const someConstantValue 不是。

    不使用这些规则不会破坏任何东西,但它们是 AS3 中公认的标准,使您的代码在未来更易于阅读和维护。

    【讨论】:

    • 非常感谢您抽出宝贵的时间。我确实尝试过 import parseline.*;现在工作正常。我会改变并开始遵循这些标准。现在我的问题是我写的解析函数......总是有些东西......谢谢。
    • 如果这回答了您的问题,请将其标记为正确以正确关闭它(选择答案旁边数字下方的箭头)
    • 实际上,如果您能指出一个不错的 flex/AS3 csv 解析器脚本,我将不胜感激。需要能够提取包含逗号的引号内的字符串,并保留字符串中的逗号。我正在从文件中获取我需要的所有其他数据。但是这些引文让我发疯了。
    • 老实说,我一直都是自己构建的。对不起。
    猜你喜欢
    • 1970-01-01
    • 2021-05-19
    • 2013-08-18
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多