Eric Barro
ebarro at verizon.net
Tue Nov 13 12:53:26 CST 2007
.NET handles this well Drew. In VB Dim wd as Widget = New Widget() Wd.Height = 10 In C# Widet wd = new Widget(); Wd.Height = 10; -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Drew Wutka Sent: Tuesday, November 13, 2007 8:55 AM To: dba-vb at databaseadvisors.com Subject: Re: [dba-VB] Iterating class properties 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 _______________________________________________