[AccessD] First real stumble with using VB.Net over VB

jwcolby jwcolby at colbyconsulting.com
Fri Apr 15 17:37:30 CDT 2011


 >My post had nothing to do with who is a better programmer <witty sarcasm>, because there's no 
question I am the better one...</witty sarcasm>. ;)

Well of course you are.  And wittier as well.

John W. Colby
www.ColbyConsulting.com

On 4/15/2011 5:09 PM, Drew Wutka wrote:
> Actually John, now that you've come down a bit on your soapbox, I will
> try to clarify for you.
>
> As a VB/VBA programmer, nothing I ever read about VB referred to 'Public
> SomeValue as string' as a FIELD. In fact, it was always referred to it
> as a PROPERTY of a class object.
>
> I have ASKED if you have any supporting documentation, like some
> Microsoft white paper, or something I should have read when becoming
> proficient in VB(6/VBA), where I would have learned that the correct
> term for 'Public SomeValue As SomeType' in a VB/VBA class module was
> FIELD.
>
> I can show you PLENTY of documentation where the reverse is the case.
>
> http://msdn.microsoft.com/en-us/library/aa262343(v=vs.60).aspx 'Visual
> Basic Concepts / Customizing Form Classes'
>
> Straight out of the MSDN, when talking about Class modules in VB6.  It
> refers to PROPERTIES, METHODS AND EVENTS.  It DIRECTLY refers to 'Public
> Comment As String' as 'click on it to play back its Comment PROPERTY'.
>
> Or how about:
>
> http://msdn.microsoft.com/en-us/library/aa240810(v=VS.60).aspx 'Visual
> Basic Concepts / Class Module Step by Step'.  You won't find the WORD
> 'field' on that page, and it refers to 'Public Name As String' AS A
> PROPERTY.  Straight from the designers of VB 6's mouth, JWC.
>
> Now admittedly, I'm only bringing MSDN articles into the fray.  I'm not
> taking your approach, that you've been programming since you built THE
> FIRST Antikythera mechanism, so what you say is how it is.
>
> To begin with, you are absolutely, 100% incorrect in stating that there
> is ANY difference in performance OR FUNCTIONALITY between:
>
> Public MyValue as String
>
> And
>
> Dim strMyValue as string
> Property Get MyValue() As String
> MyValue=strMyValue
> End Property
> Property Let MyValue(strEnter As String)
> strMyValue=strEnter
> End Property
>
> The only difference above is that one uses 1 line of code, the other
> uses 7 lines of code, in the source code.  That is it.  When you express
> what else you can do with Get/Let statements, you are going OUTSIDE the
> scope of declaring what a BASIC property is. Yes, you can put error
> handling into the statements above, but that changes the strictest
> definition of a 'SIMPLE' property.  You can add extra arguments, logic,
> processes, etc.  All going OUTSIDE of the definition of a 'simple
> property'.  And in VB 6, there is ABSOLUTELY no problem with taking a 1
> liner property, and converting it until actual Get and Let statements
> (or Set) for more functionality down the road.  In .Net, there IS a
> problem, because if you are using Reflection, the Field is now a
> Property (in .Net terms), so it will be in a different collection in
> Reflection.
>
> Back to my original point, to this thread, I have been using .Net for
> about a year now, since I was out of the development world for a while.
> I have only recently had a reason to use Reflection, which I stumbled
> on, because as a VB 6 Programmer, there WAS no distinction between
> property declaration types like there is in .Net.  I am not complaining
> that there is a difference, in fact, it is quite handy to have two
> separate Reflection collections to use.  I was simply stating that it
> was a DIFFERENCE between VB6 and VB.Net, for those that haven't yet, or
> are just crossing the bridge into the .Net world.  Like saying that
> there is no more Variant variable type.  Would you like to give us a
> tirade about how Variant types never truly existed, and how I personally
> will never understand that concept?
>
> Seriously John, you need to read more than a few lines of my posts.  A
> lot of what you have said makes you sound like an a$$, not as a skilled
> professional.  My post had nothing to do with who is a better programmer
> <witty sarcasm>, because there's no question I am the better
> one...</witty sarcasm>. ;)
>
> Drew
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
> Sent: Friday, April 15, 2011 3:19 PM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] First real stumble with using VB.Net over VB
>
> Drew,
>
> What is clear is that you are using the definition of a property as "a
> unit of information about"
> which absolutely one of many English language (and programming)
> definitions of property.
>
> You have already told us (as have I) that a public field and a property
> (keyword / function) behave
> differently.
>
> The problem is yours not mine.  I understand and use your definition in
> the same way you do.  I do
> not expect a public field to behave in the same way that a property
> (keyword / function) does
> because they are fundamentally different things.  Personally I do not
> call a public field a
> property, I call it a public field (in programmer speak), though of
> course it is a property in
> English language speak.
>
> You no longer expect them to behave the same because you have discovered
> that they are fundamentally
> different things.
>
> Where is the argument?
>
> Everyone now understands that you want to (and will probably) call
> public fields properties and
> moan that they behave differently.  To which I respond - NSS.
>
> John W. Colby
> www.ColbyConsulting.com
> The information contained in this transmission is intended only for the person or entity
> to which it is addressed and may contain II-VI Proprietary and/or II-VI Business
> Sensitive material. If you are not the intended recipient, please contact the sender
> immediately and destroy the material in its entirety, whether electronic or hard copy.
> You are notified that any review, retransmission, copying, disclosure, dissemination,
> or other use of, or taking of any action in reliance upon this information by persons
> or entities other than the intended recipient is prohibited.
>
>



More information about the AccessD mailing list