context.mxml でこれを行うことができます。
<mx:Object xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns="http://www.spicefactory.org/parsley">
<mx:Script>
<![CDATA[
import com.example.ObjectToInjectX;
import com.example.ObjectToInjectY;
import com.example.MyExampleObject;
]]>
</mx:Script>
<!-- The class to inject the map into, just declare -->
<Object type="{MyExampleObject}" id="myExampleObject" />
<!-- Objects to inject into the Dictionary -->
<Object type="{ObjectToInjectX}" id="objectToInjectX" />
<Object type="{ObjectToInjectY}" id="objectToInjectY" />
<!-- The Dictionary -->
<Object type="{Dictionary} id="myDictionaryToInject" />
<DynamicProperty name="itemX" idRef="objectToInjectX" />
<DynamicProperty name="itemY" idRef="objectToInjectY" />
</Object>
</mx:Object>
次に、注入するクラスで次のことを行うだけです。
public class MyExampleObject
{
private var _myDictionaryToInject:Dictionary;
[Inject(id="myDictionaryToInject")]
public function set myDictionaryToInject( myDictionaryToInject:Dictionary ):void
{
_myDictionaryToInject = myDictionaryToInject;
}
}