0

在我的应用程序中,我有十几个地方需要显示国家/地区建议框。建议框的所有代码(包括自定义的创建SuggestOracle、它的初始化和各种处理程序)占用了大约 100 行,并且在整个项目中复制它对我来说似乎非常核心。所以我决定编写一个自定义CountrySuggestBox,它扩展SuggestBox了自己的自定义结构,SuggestOracle并自己完成了所有的点击/按键处理。在此之后,我打算只写一些东西@UiFiled(provided=true) CountrySuggestBox = new CountrySuggestBox(countryList);并完成它。但为此,我还需要 CountrySuggestBox 来实现LeafValueEditor<Country>我做不到的,因为 SuggestBox 实现了 HasText 并且这些接口彼此不“喜欢”。

那么如何CountrySuggestBox在不使用它的类中编写自定义编辑器方法的情况下制作国家类型属性的编辑器。

4

1 回答 1

3

更喜欢组合而不是继承。

扩展(或简单地实现CountrySuggestBox)并包装. 然后你可以把它变成一个or (连同or )CompositeIsWidgetSuggestBoxLeafValueEditor<Country>IsEditor<LeafValueEditor<Country>>TakesValue<Country>HasValue<Country>

于 2012-08-31T14:38:27.533 回答