Re: [Vala] Is there any way to access generic type from the interface?



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 <felipelav 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 <esodan 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" <felipelav 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 marcin saepia net <marcin 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




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]