Dynamic class instance by name?

Hi guys,

Lets say i have a simple ClassB which just draws a rect:

package
{
    import flash.display.Sprite;
    
    public class ClassB extends Sprite
    {
        public function ClassB()
        {
            super();
            
            this.graphics.beginFill(0x000000);
            this.graphics.drawRect(0,0, 500, 500);
            this.graphics.endFill();
        }
    }
}

And in my other ClassA i am trying to instantiate ClassB by its name - string “ClassB” with following code but that doesn’t work:

package
{
    import flash.display.Sprite;
    import flash.utils.getDefinitionByName;
    
    public class ClassA extends Sprite
    {
        public function ClassA ()
        {
            var clazz:Class = getDefinitionByName("ClassB") as Class;
            var instance:Object= new clazz();
            addChild(instance);
        }
    }
}

I keep getting following error so i must be missing something?

Error #1065: Variable ClassB is not defined.
    global/flash.utils::getDefinitionByName [no source]

Thanks,
Best regards