Hello,

of course I made mistake in my code.

I want to do interface that acts as a mixin, which will be mixed into class
specifies generic type, and I want methods from this mixin return the same
type as class that embeds the mixin.

Now I create interface with generic type, so in the parent class I have to
write

public class MyClass : MyBaseClass<SomeType>, MyInterface<SomeType> {

}

but it's kind of redundant. I would like to write

public class MyClass : MyBaseClass<SomeType>, MyInterface {

}

and access from MyInterface information that SomeType was passed to
MyBaseClass as generic type.

Is it possible at all?

m.

2016-02-28 2:12 GMT+01:00 Felipe Lavratti <felipe...@gmail.com>:

> Hey Marcin,
>
> What is exactly you need from interfaces in your code ?Are you doing
> Dependency Inversion?
>
> Felipe
>
>
> On Sat, Feb 27, 2016 at 4:40 PM Daniel Espinosa <eso...@gmail.com> wrote:
>
>> Is not valid code. Interfaces should "derive" from Object. Interfaces
>> list dependencies, the first one should be Object, then other interfaces
>> depends on, the order matters, because if other interfaces depends on same,
>> they should be added first.
>>
>> For your question, use typeof(G)
>> El feb. 27, 2016 1:26 PM, "Felipe Lavratti" <felipe...@gmail.com>
>> escribió:
>>
>>> I don't know if your code is valid Vala. MyInterface should not inherit
>>> MyClass.
>>>
>>> On Sat, Feb 27, 2016 at 10:59 mar...@saepia.net <mar...@saepia.net>
>>> wrote:
>>>
>>> > Hello,
>>> >
>>> > I am planning to use interfaces as in vspec as they are nice syntax
>>> sugar
>>> > for my purpose.
>>> >
>>> > However, in order to make it working properly, I need to access type
>>> > defined as generic in the parent class implementing interface.
>>> Something
>>> > like
>>> >
>>> > public interface MyIface : MyClass {
>>> >   public MyGenericType something() {
>>> >     ...
>>> >   }
>>> > }
>>> >
>>> >
>>> > public abstract class MyClass<MyGenericType> : MyIface {
>>> >
>>> > }
>>> >
>>> >
>>> > Is it possible in any way?
>>> >
>>> > m.
>>> > _______________________________________________
>>> > vala-list mailing list
>>> > vala-list@gnome.org
>>> > https://mail.gnome.org/mailman/listinfo/vala-list
>>> >
>>> _______________________________________________
>>> vala-list mailing list
>>> vala-list@gnome.org
>>> https://mail.gnome.org/mailman/listinfo/vala-list
>>>
>>
_______________________________________________
vala-list mailing list
vala-list@gnome.org
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to