`
ch_kexin
  • 浏览: 898986 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

as3 遍历公开属性的方法

 
阅读更多
基本类:
package 
{
	public class Resume
	{
		private var _name : String ="NAME";
		private var _sex : String ="SEX";
		private var _age  : String="AGE";
		private var _timeArea : String="TIMEAREA";
		private var _company : String="COMPANY";
		
		public function Resume(){
		 super(); 
		}
		
		public function get name():String
		{
			return _name;
		}
		public function get sex():String
		{
			return _sex;
		}
		public function get age():String
		{
			return _age;
		}
		public function get timeArea():String
		{
			return _timeArea;
		}
		public function get company():String
		{
			return _company;
		}
	}
}

文档类:
var resume:Resume = new  Resume();
var xml:XML = describeType(resume);
trace("xml  :   "+xml.toXMLString());//遍历转换xml格式的数据
trace("/////////////////////////////////////////////////////////////////");
for(var i:int =0;i<xml.accessor.length();i++){
 trace("name  :"+xml.accessor[i].@name);//获取类的属性名
 trace("value  :  "+resume[xml.accessor[i].@name]);//获取类属性值
			}


打印出来的值:
引用

xml  :   <type name="clone::Resume" base="Object" isDynamic="false" isFinal="false" isStatic="false">
  <extendsClass type="Object"/>
  <accessor name="timeArea" access="readonly" type="String" declaredBy="clone::Resume">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="D:\_GameDemoTest\TestTextDemo\src\clone\Resume.as"/>
      <arg key="pos" value="516"/>
    </metadata>
  </accessor>
  <accessor name="sex" access="readonly" type="String" declaredBy="clone::Resume">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="D:\_GameDemoTest\TestTextDemo\src\clone\Resume.as"/>
      <arg key="pos" value="390"/>
    </metadata>
  </accessor>
  <accessor name="name" access="readonly" type="String" declaredBy="clone::Resume">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="D:\_GameDemoTest\TestTextDemo\src\clone\Resume.as"/>
      <arg key="pos" value="325"/>
    </metadata>
  </accessor>
  <accessor name="company" access="readonly" type="String" declaredBy="clone::Resume">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="D:\_GameDemoTest\TestTextDemo\src\clone\Resume.as"/>
      <arg key="pos" value="589"/>
    </metadata>
  </accessor>
  <accessor name="age" access="readonly" type="String" declaredBy="clone::Resume">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="D:\_GameDemoTest\TestTextDemo\src\clone\Resume.as"/>
      <arg key="pos" value="453"/>
    </metadata>
  </accessor>
  <metadata name="__go_to_ctor_definition_help">
    <arg key="file" value="D:\_GameDemoTest\TestTextDemo\src\clone\Resume.as"/>
    <arg key="pos" value="269"/>
  </metadata>
  <metadata name="__go_to_definition_help">
    <arg key="file" value="D:\_GameDemoTest\TestTextDemo\src\clone\Resume.as"/>
    <arg key="pos" value="32"/>
  </metadata>
</type>
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
name  :timeArea
value  :  TIMEAREA
name  :sex
value  :  SEX
name  :name
value  :  NAME
name  :company
value  :  COMPANY
name  :age
value  :  AGE

分享到:
评论

相关推荐

    Swift遍历类属性改.zip

    这段代码会打印出`MyClass`类的所有公开属性,即`property1`,因为`property2`是私有的,不会被包含在内。 值得注意的是,Swift的`@objc`属性不仅影响能否通过Objective-C runtime访问,还影响了该属性是否能在KVC...

    仿AS3实现PHP 事件机制实现代码

    这个类包含两个公开属性:`$target`和`$type`。`$target`用于存储触发事件的对象,而`$type`则表示事件的类型。`__construct`方法接受一个字符串参数`$type`,用于初始化事件类型。`__toString`方法返回事件的类型...

    FLASH CS4 AS3 各式各样的下拉菜单

    - **Public properties**: 公开属性,如`optionsArray`,允许外部代码访问和修改菜单选项。 5. **事件处理**: - **EventDispatcher**: 使用`dispatchEvent()`发送自定义事件,如`OptionsMenuEvent.ITEM_SELECTED...

    测试危险的HTTP方法.docx

    - PROPFIND方法用于查询资源属性,可能暴露不应公开的信息。 为了测试这些危险的HTTP方法,可以首先使用OPTIONS请求来获取服务器支持的方法列表。例如,`OPTIONS /public/ HTTP/1.1 Host: mdsec.net`会返回该目录下...

    IOS KVC的一些简单用法

    如果属性未公开为ivar,KVC可能无法访问。 - 对于计算属性,KVC可能会调用其getter和setter,因此需要确保这些方法能正常工作。 - 当属性不存在时,KVC可能会尝试调用`valueForUndefinedKey:`和`setValue:...

    利用VB.Net编程获取数码相片Exif信息

    3. **遍历Exif属性**:通过Image对象的PropertyItems属性获取所有属性项集合,然后遍历每个PropertyItem。 4. **解析Exif信息**:每个PropertyItem都有一个ID,对应不同的Exif标签,如0x0132对应“DateTimeOriginal...

    VB自定义升级版Collection类

    在这个类中,我们需要声明私有变量来存储实际的集合(例如使用`Scripting.Dictionary`对象),以及公开的方法和属性供外部调用。 2. **构造函数**: 类的构造函数(`New`关键字)是创建实例时自动调用的,可以在...

    (VB)获取运行程序(控件)名称和内容

    总之,VB中获取运行程序和控件名称及内容主要依赖于对象的属性和方法,以及适当的遍历逻辑。熟练掌握这些技术,能帮助开发者更好地理解和调试VB应用程序。在实际项目中,结合具体的业务需求,这些知识可以灵活应用,...

    flex题目大全

    根据给定文件的信息,我们可以总结出一系列与Flex和ActionScript 3(AS3)相关的知识点。下面的内容将针对每一个问题进行详细的解答。 ### Flex及AS3基础知识 #### 1. AS3语言中,Array里面是不是可以放不同类型?...

    C#中的反射问题只要是学者很有必要下载

    3. **调用方法**:可以动态调用类的方法,无论是公开的还是私有的。 4. **读取类型信息**:反射可以获取类型的完整信息,包括命名空间、基类、接口、字段、属性、方法等。 ### 三、示例代码解析 在给出的代码片段...

    actionscript 3学习随笔

    - **for...each in**:遍历对象的属性值。 - **while**:条件循环语句。 - **do...while**:至少执行一次的条件循环语句。 - **break**:跳出循环。 - **continue**:跳过本次循环的剩余部分,继续下一次迭代。 - **...

    swift-运行时字典转模型模型快速转字典

    - 反向操作,通过反射遍历模型的所有公开属性,并将它们添加到一个新的字典中。需要注意的是,私有属性和计算属性不会被包含在内。 - 对于存储属性,可以获取其值并作为字典的键值对。对于数组或字典类型的属性,...

    .net 面试题 大全

    - 分组统计:`SELECT 日期, COUNT(*) AS 胜, SUM(CASE WHEN 结果='胜' THEN 1 ELSE 0 END) AS 负 FROM 表 GROUP BY 日期` 10. **咖啡店设计题**: - 可以设计一个Coffee类,包含价格属性,然后创建不同的Product...

    VB 同时打开多窗口文档

    如果需要在子窗口之间传递数据,可以使用事件或公开属性和方法。例如,一个子窗口可以通过引发一个自定义事件,让MDI父窗口或其他子窗口接收到通知并做出相应。 8. **窗口布局** VB还提供了对MDI子窗口排列和组织...

    asp.net面试题

    - **封装性**:指的是将数据和操作数据的方法绑定在一起,对数据的访问只能通过对外公开的方法。这样可以隐藏数据的实现细节,提供更安全的数据访问机制。 - **继承性**:允许创建一个新类(子类)来继承现有类...

    .NET笔试题

    - 实现`IEnumerable`接口或声明`GetEnumerator`方法的类型才能使用`foreach`进行遍历。 - `IEnumerable`: 提供了枚举集合的基本功能,通常用于自定义集合类。 - `GetEnumerator()`: 返回一个枚举器,用于迭代集合...

    vb课后答案

    例如,在上面提到的按钮类中,按钮的颜色、位置等属性只允许通过类中定义的方法来访问和修改,而不是直接对外公开。 **隐藏**通常指的是隐藏类的内部实现细节,只暴露必要的接口供外部调用。这样做的好处是可以减少...

    net学习笔记及其他代码应用

    10.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m [Page] 答: int Num = this.TextBox1.Text.ToString() ; int Sum = 0 ; for (int i = 0 ; i ; i++) { if((i%2) == 1) { Sum += i ; ...

    提高C#编程水平的50个要点

    23. **避免暴露内部成员引用**:保护对象的内部状态,避免外部直接修改,通过公开方法或属性进行访问。 此外,还有其他一些编程技巧和最佳实践: 24. **元数据控制**:使用元数据来描述类、属性、方法等,方便工具...

Global site tag (gtag.js) - Google Analytics