Difference between revisions of "Passing UDTs to Classes"
From HashVB
m (Wikified) |
|||
Line 9: | Line 9: | ||
'-- In the class | '-- In the class | ||
Friend Function myFunction(foo As myType) As Integer | Friend Function myFunction(foo As myType) As Integer | ||
− | myFunction = foo.x | + | myFunction = foo.x * foo.y |
End Function | End Function | ||
Revision as of 13:48, 2 September 2005
This is actually extremely simple to do - all you need to do is declare the method (be it a property, function or sub) to which you are passing the UDT as Friend - like this:
'-- In some module Public Type myType x As Integer y As Integer End Type '-- In the class Friend Function myFunction(foo As myType) As Integer myFunction = foo.x * foo.y End Function '-- Passing to the function Dim foo As myType foo.x = 10: foo.y = 100 Debug.Print myClassInstance.myFunction(foo) '-- Prints 1000 to Immediate window
Simple :-)
NOTE: This will only work when using the class from within the same project in VB. If compiled and used as a COM component, then any methods declared as 'Friend' will not appear. See MSDN on the topic of the Friend keyword:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vakeyFriend.asp