Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Equivalent to eval()
Message
From
29/03/2010 19:57:23
 
 
To
29/03/2010 12:22:57
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
General information
Forum:
ASP.NET
Category:
Coding, syntax and commands
Miscellaneous
Thread ID:
01457734
Message ID:
01457999
Views:
52
For lurkers, I thought I'd post my results :

this technique works for public properties and works well.

Here's the VB version of what I did

We are asssuming there are a dozen public properties of type BaseBO
Based on a string we are going to find out the number of records in that BO
(the actually string is derived from evaluating the displayvalue of an enum at run-time)
Dim childname as string = "GL"
Dim childbo as Basebo 
Dim pd As PropertyDescriptor = _
TypeDescriptor.GetProperties(Me).Find(childname, True)

         If Not IsDBNull(pd) Then
                  childbo = CType(pd.GetValue(Me), BaseBO)
                  childcount = childbo.Count
          End If
Thanks Cetin

(the function Michel posted is very useful when the BO is assigned to a private variable instead of a property )

>>I have a number of properties which are objects ( business objects )
>>
>>If I have string which is the same as the name of one of those properties I would like to find the value of a property of the corresponding object.
>>
>>in VFP
>>
>>*property is called _Propmaster
>>
>>varstr = "Propmaster"
>>prop = "_"+varstr+".count"
>>
>>mycount = eval(prop)
>>
>>
>>Looking for a technique that will accomplish the same thing in .NET
>>
>>vb or C#
>>
>>TIA
>
>There are many ways to do things in .Net just like VFP:) One way would be to use TypeDescriptor class. ie:
>
>
PropertyDescriptor pd = TypeDescriptor.GetProperties( myObj ).Find( myProperty, true );
>if (pd != null)
>   var value = pd.GetValue( myObj );
>
>Cetin


Charles Hankey

Though a good deal is too strange to be believed, nothing is too strange to have happened.
- Thomas Hardy

Half the harm that is done in this world is due to people who want to feel important. They don't mean to do harm-- but the harm does not interest them. Or they do not see it, or they justify it because they are absorbed in the endless struggle to think well of themselves.

-- T. S. Eliot
Democracy is two wolves and a sheep voting on what to have for lunch.
Liberty is a well-armed sheep contesting the vote.
- Ben Franklin

Pardon him, Theodotus. He is a barbarian, and thinks that the customs of his tribe and island are the laws of nature.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform