Thanks very much Morten


-----Original Message-----
[mailto:[EMAIL PROTECTED] On Behalf Of Morten
Barklund Shockwaved
Sent: 20 December 2005 13:15
To: Flashcoders mailing list
Subject: Re: [Flashcoders] Array like access to custom class?

Dan Thomas wrote:
> Can I provide array like access to a custom collection object?
> E.g.
> Class MyClass
> {
>       private var myArray:Array;
>       public function getArray():Array
>       {
>               return this.myArray;
>       }
> }
> [snip]
> How can I change it so I can achieve the same thing but with access to
> the items like this:
> var someClass:MyClass = new MyClass;
> thisItem = someClass[0];

Use __resolve:

class MyClass
        private var myArray:Array;
        public function __resolve(name:String):Object
                if (!isNaN(name)) {
                        return myArray[Number(name)];
                } else {
                        return false;

But it will not "strict type" properly at all, so you lose major 
benefits of using as2 this way. I'd do it:

class MyClass
        private var myArray:Array;
        public function elem(n:Number):Object
                return myArray[n];


var someClass:MyClass = new MyClass;
thisItem = someClass.elem(0);

Then you will get proper validation of argument, parameter and return

Morten Barklund - Information Architect - Shockwaved
Gothersgade 49, 4th floor - DK-1123 Copenhagen K, Denmark
Phone: +45 7027 2227 - Fax: +45 3369 1174
Flashcoders mailing list

This message and any attachments should only be read by those persons to whom 
it is addressed and be used by them for its intended purpose.  It must not 
otherwise be reproduced, modified, distributed, published or actioned. If you 
have received this e-mail in error, please notify us immediately by telephone 
on 01202 237000 and delete it from your computer immediately. This e-mail 
address must not be passed to any third party or be used for any other purpose. 
Every reasonable precaution has been taken to ensure that this e-mail, 
including attachments, does not contain any viruses. However, no liability can 
be accepted for any damage sustained as a result of such viruses, and 
recipients are advised to carry out their own checks. 

Moov2 Ltd cannot accept liability for statements made which are clearly the 
senders own and not made on behalf of the Moov2 Ltd. An e-mail reply to this 
address may be subject to interception or monitoring for operational reasons or 
for lawful business purposes.

Flashcoders mailing list

Reply via email to