[ASP.NET 2.0] Overloads verplicht?

Pagina: 1
Acties:
  • 118 views sinds 30-01-2008
  • Reageer

  • Cryothic
  • Registratie: September 2001
  • Laatst online: 04-09-2024
Ik zit nu eens naar die Personal Web Server Kit van Visual Studio 2005 te kijken, en er valt me op dat in de PhotoManager.vb 2 verschillende vormen van een soort overload voorbij komen.

Eerst kom ik dit tegen:
code:
1
2
3
4
5
6
7
Public Overloads Shared Function GetPhoto(ByVal photoid As Integer, ByVal size As PhotoSize) As Stream
...
End Function

Public Overloads Shared Function GetPhoto(ByVal size As PhotoSize) As Stream
...
End Function


Dit is voor mij een logische manier. Zo ken ik het tenminste in andere talen.
Maar een stukje daaronder kom ik dit tegen:
code:
1
2
3
4
5
6
7
Public Shared Function GetPhotos(ByVal AlbumID As Integer) As Generic.List(Of Photo)
...
End Function

Public Shared Function GetPhotos() As Generic.List(Of Photo)
...
End Function

Zou iemand mij kunnen vertellen waarom hier geen gebruik wordt gemaakt van 'Overloads' ?
Ik zie namelijk weinig tot geen andere verschillen.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 23:25

mulder

ik spuug op het trottoir

Misschien is het alleen maar het verschil tussen GetPhoto en GetPhotos?

oogjes open, snaveltjes dicht


  • Cryothic
  • Registratie: September 2001
  • Laatst online: 04-09-2024
Ja, maar er zijn dus 2 Functions "GetPhoto".
Die worden beide "ge-Overload" zeg maar.

Maar waarom wordt Overload dan niet gebruikt bij de 2 "GetPhotos" functions?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Waarschijnlijk zijn die GetPhotos methodes niet gedefineerd in de base class. Dus dan valt er niks te overloaden.

Ik zie trouwens dat het shared functions zijn. Ik ga er van uit dat dat hetzelfde is als static in C#. Dan is het logisch dat je deze niet kunt overloaden aangezien je deze functions op een Type aanroept en niet op een Instance.

[ Voor 51% gewijzigd door Woy op 31-01-2006 11:49 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Cryothic
  • Registratie: September 2001
  • Laatst online: 04-09-2024
Maar de eerste 2 declaraties zijn EN Overloaded EN shared :S

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 23:25

mulder

ik spuug op het trottoir

Ik zie ook niet waarom je geen static functies kan overriden?

oogjes open, snaveltjes dicht


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Overloads is alleen verplicht wanneer je het op ten minste 1 overload specificeert. Dus doe je het nergens, dan hoeft het ook niet.

Tja, VB.NET... Ik bedoel: de compiler ziet zelf wel wat de overloads zijn, dat hoef je toch niet te melden in code.

static functies overriden kan niet, want overriden doe je in een derived class en statics behoren niet tot een instance, dus at runtime is er geen base type.

(volgens mij halen sommigen hier overloads en overrides door elkaar ;))

[ Voor 22% gewijzigd door EfBe op 31-01-2006 13:10 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
ah ja natuurlijk overload/override :) dat krijg je als je VB.NET probeert te lezen als je dat nooit doet.

edit:
overloads is dan trouwens nogal een zinloos keyword of heb ik het mis?

[ Voor 30% gewijzigd door Woy op 31-01-2006 14:12 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1