En litt morsom ting med delegates i VB.net


Forum --> .NET

Author Comment
Petter Ekrann
En litt morsom ting med delegates i VB.net 22.10.2009 10:26:55
Fant en litt 'merkelig' ting ved bruk av delegates i VB .net 3.5

hvis man har:

Public delegate Function Somthing(ByVal a as integer, ByVal b as integer) as boolean

Public Function doSomthing(ByVal a as integer, ByVal b as integer) as boolean
  return a = b
end function



For å bruke denne kan man for eksempel (kanskje et dårlig et)

        Public Function ExecuteDelegate(ByVal a As Integer, ByVal B As Integer, ByVal d As Something) As Boolean
            Return d(a, B)
        End Function


og så kalle denne

  ExecuteDelegate(1,2, addressOf doSomething)


Ganske standard..
i .net 3.5(vb) har man jo fått inline functions for å forenkle dette.. så man kan skrive

ExecuteDelegate(1,2,Function(ByVal a As Integer, ByVal B As Integer) A = B))


og så til det som jeg synes er litt pussig/morsomt.. Smiley

Hvis man av en eller annen grunn ikke trenger parameterene for å avgjøre om det skal returneres true/false så kan man skrive


ExecuteDelegate(1,2,Function() false ) 


Altså uten riktig signatur på inline funksjonen, men så lenge den ikke har noen parametere så går det bra..

litt 'morsomt'?
Thomas Eyde
RE:En litt morsom ting med delegates i VB.net 22.10.2009 10:49:27
Det er tydelig at jeg mangler sans for humor Wink smiley

Copyright (C) 2006 Norwegian .NET User Group
  Powered by EPiServer