Неужели нет простого способа выполнить двустороннее связывание данных со свойствами несоответствующих типов?В приведенном ниже примере я пытался связать два свойства друг с другом: одно типа String
(text
свойство из s:TextInput
), а другое типа Number
(bar
свойство из Foo
)
package com.example
{
public class Foo
{
[Bindable] public var bar:Number;
}
}
<?xml version="1.0" encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:ex="com.example.*"
>
<fx:Declarations>
<ex:Foo id="foo" />
</fx:Declarations>
<s:TextInput text="@{foo.bar}" /><!-- error at this line -->
</s:Application>
Попытка скомпилировать этот код приводит к следующей ошибке:
1067: неявное приведение значения типа String к несвязанному номеру типа.
Я понимаю, почему возникает ошибка, но мне было интересно, не знаю ли я просто о чем-то (возможно, о каких-то метаданных Flex 4), которое позволило бы предпринять попытку преобразования между этими двумя типами и выдать ошибку во время выполненияесли такое преобразование не удается ...