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

Charlotte Foust charlotte.foust at gmail.com
Wed Apr 13 18:05:57 CDT 2011


Yep, that confuses everyone until you get used to it.

Charlotte Foust

On Wed, Apr 13, 2011 at 3:22 PM, Drew Wutka <DWUTKA at marlow.com> wrote:
> Figured I'd post this here, for those that may be tinkering or thinking
> about tinkering with .Net.
>
>
>
> In VB, one of the 'limitations' that was kind of annoying was
> dynamically referring to the 'properties' of a class module.
>
>
>
> For example, if I wanted the column name from a recordset, I could do
> this:
>
>
>
> Msgbox rs.Fields.Item(0).Name
>
>
>
> But, what if I wanted to get it programmatically, .Name is hard coded:
>
>
>
> Msgbox rs.Fields.Item(0).Properties("BASECOLUMNNAME")
>
>
>
> That would allow me to put a variable in the properties 'property', to
> retrieve a value dynamically.
>
>
>
> However, with a standard class module, in VB6/VBA, the only way, I could
> find, to do this, was to put in extra code into a class module to create
> a 'Properties' Property.  In fact, I had written an Add-on in VB6 that
> did this for me (created a properties property).  Put a LOT of extra
> code into your module though.
>
>
>
> In VB.Net, there is a built in capability to do this with the Reflection
> Library.  So here is what I stumbled on.  I was all excited to use the
> Reflection library on a particalur class where I needed to dynamically
> list, set, and get properties of a class I built.....
>
>
>
> The catch...
>
>
>
> In VB:
>
>
>
> Public SomeValue as String
>
> -           And -
>
> Property Get SomeValue() as string
>
> SomeValue=strTemp
>
> End Property
>
>
>
> Both create a 'property' called SomeValue.
>
>
>
> In VB.Net
>
> Public SomeValue as String
>
> Public Property SomeValue() as String
>
>               Get
>
>                               Return strTemp
>
>                End Get
>
>                Let (value)
>
>                                strTemp=value
>
>                End Let
>
> End Property
>
>
>
> In the first line, SomeValue is considered a FIELD, not a property.  The
> SomeValue defined with Get/Let statements...THAT'S a PROPERTY.
>
>
>
> Go figure.  Drove me nuts, couldn't figure out why I wasn't getting at
> all of my properties...until I figured out that some were properties
> some were "FIELDS".
>
>
>
> LOL.
>
>
>
> Of course, there will probably be a dozen people that already knew
> that...I'm so late to the game with .Net
>
>
>
> Drew
>
>
> 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.
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>




More information about the AccessD mailing list