草庐IT

delegations

全部标签

guava - 在 Kotlin 中,如何委托(delegate)给一个接口(interface)并只提供一个无参数的公共(public)构造函数?

问题源于Kotlinclassdelegation只允许委托(delegate)给构造函数参数,因此似乎迫使您为构造函数提供参数。下面是我关于这个问题的具体用例的原始问题。我想做以下事情:valmyTable1:MyTable=MyTable()在哪里MyTable继承自ImmutableTable(src)或至少Table而且我不必手动将所有Table方法委托(delegate)给某个基本实现。我还想避免以下情况:valmyTable2:MyTable=MyTable.build()即我不想被迫使用伴随对象/静态工厂方法。我试图扩展ImmutableTable,但我得到这个类型有一个

guava - 在 Kotlin 中,如何委托(delegate)给一个接口(interface)并只提供一个无参数的公共(public)构造函数?

问题源于Kotlinclassdelegation只允许委托(delegate)给构造函数参数,因此似乎迫使您为构造函数提供参数。下面是我关于这个问题的具体用例的原始问题。我想做以下事情:valmyTable1:MyTable=MyTable()在哪里MyTable继承自ImmutableTable(src)或至少Table而且我不必手动将所有Table方法委托(delegate)给某个基本实现。我还想避免以下情况:valmyTable2:MyTable=MyTable.build()即我不想被迫使用伴随对象/静态工厂方法。我试图扩展ImmutableTable,但我得到这个类型有一个

c++ - 使用虚拟继承和委托(delegate)构造函数在构造函数中崩溃

structD{virtualvoidm()const=0;};structD1:publicvirtualD{};structD2:publicvirtualD{};structB:publicD2{B(){}B(intval):B(){}voidm()const{}};structA:publicB,publicD1{A():B(0){}};intmain(){Aa;return0;}我在使用上述代码的MSVC2013编译器中崩溃了。当使用GCC4.7.2编译时,它运行时不会崩溃。类的层次结构如下所示。D/\D1D2||\B\/A这是MS编译器中的错误还是我在代码中犯了错误?

与 Kotlin、BaseObservable 和自定义委托(delegate)的 Android 数据绑定(bind)

我正在尝试编写一个自定义委托(delegate)来清理Kotlin类中数据绑定(bind)的语法。这将消除为我可能想要观察的每个属性定义自定义getter和setter的需要。Kotlin中的标准实现如下所示:classFoo:BaseObservable(){varbar:String@Bindableget()=barset(value){bar=valuenotifyPropertyChanged(BR.bar)}}很明显,这个类有很多属性,可能会变得非常冗长。我想要的是把它抽象成这样的委托(delegate):classBaseObservableDelegate(valid:

与 Kotlin、BaseObservable 和自定义委托(delegate)的 Android 数据绑定(bind)

我正在尝试编写一个自定义委托(delegate)来清理Kotlin类中数据绑定(bind)的语法。这将消除为我可能想要观察的每个属性定义自定义getter和setter的需要。Kotlin中的标准实现如下所示:classFoo:BaseObservable(){varbar:String@Bindableget()=barset(value){bar=valuenotifyPropertyChanged(BR.bar)}}很明显,这个类有很多属性,可能会变得非常冗长。我想要的是把它抽象成这样的委托(delegate):classBaseObservableDelegate(valid:

c++ - 如何委托(delegate)给实现类

我有一个抽象基类Node,它派生自抽象接口(interface)类IObservable。有几个实现抽象IObservable的类:SingleObservable和MultiObservable我想创建一个ObservableNode类,派生自Node基类,并在其声明中指定要使用哪个类来实现IObservable接口(interface)。我已经为IObservable中的每个纯虚方法添加了using...语句,指的是实现类中的方法,但我仍然收到错误提示ObservableNode是一个抽象类,缺少notifyObservers(IObject*)的实现。如果我将参数IObject*

c++ - C++11 委托(delegate)的 ctors 是否比调用 init 函数的 C++03 ctors 表现更差?

[这个问题已经过高度编辑;请原谅,我已将编辑内容移至下面的答案中]来自Wikipedia(subarticleincluded)在C++11上:This[newdelegatingconstructorsfeature]comeswithacaveat:C++03considersanobjecttobeconstructedwhenitsconstructorfinishesexecuting,butC++11considersanobjectconstructedonceanyconstructorfinishesexecution.Sincemultipleconstructor

android - 不存在像默认构造一样的创建者): cannot deserialize from Object value (no delegate- or property-based Creator

我正在尝试使用一个使用Retrofit和Jackson来反序列化的API。我收到onFailure错误NoCreators,如默认构造,存在):无法从Object值反序列化(没有基于委托(delegate)或属性的Creator。 最佳答案 原因:发生此错误是因为jackson库不知道如何创建没有空构造函数的模型,并且该模型包含带有参数的构造函数,而该构造函数没有用@JsonProperty("field_name")。默认情况下,如果您没有将构造函数添加到类中,java编译器会创建空构造函数。解决方案:向您的模型添加一个空构造函数

android - 不存在像默认构造一样的创建者): cannot deserialize from Object value (no delegate- or property-based Creator

我正在尝试使用一个使用Retrofit和Jackson来反序列化的API。我收到onFailure错误NoCreators,如默认构造,存在):无法从Object值反序列化(没有基于委托(delegate)或属性的Creator。 最佳答案 原因:发生此错误是因为jackson库不知道如何创建没有空构造函数的模型,并且该模型包含带有参数的构造函数,而该构造函数没有用@JsonProperty("field_name")。默认情况下,如果您没有将构造函数添加到类中,java编译器会创建空构造函数。解决方案:向您的模型添加一个空构造函数

c++ - 委派构造函数 : an initializer for a delegating constructor must appear alone

我有一对构造函数,它们在C++03风格中工作得很好。其中一个构造函数调用父类(superclass)(或基类)构造函数...classWindow:publicRectangle{public:Window():win(newRawWindow(*this)){refresh();}Window(Rectangle_rect):Rectangle(_rect),win(newRawWindow(*this)){refresh();}...我正在尝试弄清楚如何使用新的C++11委托(delegate)构造器功能来稍微整理一下。但是,下面的代码给出了以下编译器错误...classWindo