I had to do something similar and used an approach that looks something like this
public function CustomObject(argsObject:Object) { for (var arg:String in argsObject) { switch (arg) { case somePropName: //code for a property that needs special handling break; case aStringProp: case anotherStringProp: // code for props that need type checking if (argsObject[arg] is String) { this[arg] = argsObject[arg]; } else { //handle type error } break; case aProp: case anotherProp: // code for propS that doesn't need type checking this[arg] = argsObject[arg]; break; default: //handle properties that aren't in the custom obj } } } In my case --- In flexcoders@yahoogroups.com, "Thomas Viktil" <[EMAIL PROTECTED]> wrote: > > Hello! > > I'm building a class which has a constructor that is supposed to fill the > properties of the class based on the content of the object submitted to the > constructor. To better explain, here's how it is supposed to work: > > var argsObj:Object = new Object(); > argsObj.property1 = "hello"; > > var myObject:customObject = new customObject(argsObj); > > customObject has a property called property1, and so does argsObj. > > Now, the question is; how can I, in a simple way, put what ever is in the > argsObj in the correct place in my customObject? What will the constructor > look like? > > Should I use setter functions, og set the property directly (this.property = > arg)? I can see the advantage of using setter's. I could easily sense if one > property is not of the correct type, and then do something. But, maybe I can > to that in the constructor? > > > This wasn't easy to explain, but I hope you understand. > > Regards > Thomas Viktil >