[Bindable] causes Error 1144 for Vector classes in interfaces

Write up an interface like…

package
{
	import __AS3__.vec.Vector;

	public interface Example
	{
		function get links(): Vector.<int>
		function set links( value:Vector.<int> ): void
	}
}

… and a class that implements the interface …

package
{
	import __AS3__.vec.Vector;

	[Bindable]
	public class ExampleImpl implements Example
	{
		public function get links():Vector.<int> {	return null; }
		public function set links(value:Vector.<int>):void {}
	}
}

… and receive an error message for free: “1144: Interface method set links in namespace Example is implemented with an incompatible signature in class ExampleImpl.

A workaround is placing [Bindable] on the property level. And that’s it for this week.

Leave a Reply