Drew Wutka
DWUTKA at Marlow.com
Tue Nov 13 10:54:54 CST 2007
What are you trying to accomplish? I don't use .Net very often, still do most of my stuff in VB 6. But I wanted a way to dynamically capture my class properties. For example, let's say I had Widget, and it had Height and Width properties. I wanted to be able to do this: Dim wd as Widget Set wd=new Widget Wd.Properties("Height")=10 Or Dim wd as Widget Dim I as long Set wd=new Widget For i=1 to wd.Properties.Count Wd.Properties(i)=15 Next i I don't know if .Net has this capability, VB 6 didn't natively, but I was able to 'spoof' the ability. I created an Add-in that let's me create a Properties property for a class. When you run the Add-in, it goes through all of the properties in your class, and creates statements to simulate the abilities above. It's adding a lot of extra code to do this, but in some situations I have run into, it's worth it...plus, all the properties are left alone, so I can use them like I normally would. Drew -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, November 13, 2007 6:43 AM To: dba-vb at databaseadvisors.com Subject: [dba-VB] Iterating class properties Does anyone know a way to iterate the properties of a class in VB.Net or C#.Net (or in .Net in general)? There is built-in functionality to store classes out to XML files and this stuff does exactly that, apparently using only the Get/Let statements, i.e. if there is not both a get and let statement for a property then the process fails to convert that property to XML. So if MS does it, is that capability publicly available? Is there a property iterator buried in the innards of the class object? John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.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 BusinessSensitve 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.