Re: [Gambas-user] Question about collections and inheritance
Brought to you by:
gambas
From: Benoît M. <ga...@us...> - 2010-08-28 21:36:47
|
> Hi all. > > I'm trying to code a very basic Xml Excel Generator, and I'm workin with > a collection. This is my code: > > ' Gambas class file > > Inherits Collection > > Public Function Add($ID As String) As Style > > Dim $style As New Style($ID) > > Super.Add($style, $ID) > > Return $style > > End > > Public Function _GetXml() As String > > Dim $style As Style > Dim $text As String = "\t<s:Styles>\n" > > For Each $style In Me > $text &= $style._GetXml() & "\n" > Next > > $text &= "\t</s:Styles>" > Return $text > > End > > Style is another class I have. My class inherits the Collection class > and I override the Add function. All of this works fine, my question is > about another Collection functionality: > > With a normal Collection we can do something like this: > > Dim $col As Collection > $col.Add("My value", "key") > Print *$col["key"]* > > I can access to my item whit his "key". How can I override this > functionality in my class, because Gambas return me a Variant data type > element and I want to return my own data type, my Style class. > > Thanks. > > P.S. Sorry my english, I trying to learn it but I'm still newbie > You have to override the _get() method. Something like that I presume: Public sub _get(Id As String) As Style Return Super[Id] End Regards, -- Benoît Minisini |