jwcolby
jwcolby at colbyconsulting.com
Thu Apr 14 04:42:48 CDT 2011
> Does it affect anything other than Reflection? Your programming style? ;) The safety of your code? ;);) Side effects down the road when you need to modify the field on the way in / out? ;););) John W. Colby www.ColbyConsulting.com On 4/13/2011 11:49 PM, Drew Wutka wrote: > Does it affect anything other than Reflection? > > Drew > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust > Sent: Wednesday, April 13, 2011 6:06 PM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] First real stumble with using VB.Net over VB > > 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 >> >