Creating Own Meta Data In Flex

本文介绍如何在Flex中创建自定义元数据。通过设置编译器选项并使用特定的XML配置文件,可以为Flex应用程序添加额外的元数据。文中提供了示例代码,包括MXML文件、AS文件和配置文件,展示了如何实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文:http://blog.orangeflash.eu/?p=45

To create your own meta data, in Flex you have to set compiler option: -keep-as3-metadata

Here is small example -

Index.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
	<mx:Script>
		<![CDATA[
			private var metaData:MetaDataExample = new MetaDataExample();
			
			private function displayDescription():void
			{
				textArea.text = metaData.description;
			}
		]]>
	</mx:Script>
	<mx:TextArea width="100%" height="100%" id="textArea"/>
	<mx:Button label="Describe" click="displayDescription()"/>
</mx:Application>


MetaDataExample.as:

package
{
	import flash.utils.*;
	public class MetaDataExample
	{
		public function MetaDataExample()
		{
		}
		
		public function get description():String
		{
			return describeType(this).toString();
		}
		
		[Orange(size="very big", isTasty="Yes Yes Yes Yes!")]
		public function get prop():String
		{ return "hello"; }
		public function set prop(value:String):void
		{ }
	}
}

and finaly meta-config.xml:

<?xml version="1.0"?>
<flex-config xmlns="http://www.adobe.com/2006/flex-config">
	<compiler>
		<keep-as3-metadata>
			<name>Orange</name>
		</keep-as3-metadata>		
		<keep-generated-actionscript>true</keep-generated-actionscript>		
		<source-path>
	        	<path-element>.</path-element>
	    	</source-path>
	</compiler>
	
	<output>C:/Program Files/Adobe/Flex/Flex SDK 2/bin/Index.swf</output>
</flex-config>

Now you simply compile your application with -load-config+="meta-config.xml". And you have your own meta data in Flex.

P.S. in order to check it you can use flash.utils.describeType() method, here is what i’ve got:

<accessor name="prop" access="readwrite" type="String" declaredBy="MetaDataExample">
    <metadata name="Orange">
      <arg key="size" value="very big"/>
      <arg key="isTasty" value="Yes Yes Yes Yes!"/>
    </metadata>
</accessor>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值