Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Equivalent to eval()
Message
From
28/03/2010 20:55:18
 
 
To
28/03/2010 20:02:25
General information
Forum:
ASP.NET
Category:
Coding, syntax and commands
Miscellaneous
Thread ID:
01457734
Message ID:
01457738
Views:
99
This message has been marked as the solution to the initial question of the thread.
>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

As you might have found, there is no evaluate in .NET. Here is what you need:
        ' Return a reference to a control by the use of its name
        ' expO1 Form
        ' expC1 Name of the control
        Public Function FindControlByFieldName(ByVal loForm As System.Windows.Forms.Form, ByVal tcProperty As String) As Object
            Dim loFieldInfo As System.Reflection.FieldInfo = Nothing
            Dim loObject As Object = Nothing
            Dim loPropertyInfo As System.Reflection.PropertyInfo = Nothing
            Dim loType As System.Type = Nothing

            ' Get the form type
            loType = loForm.GetType()

            ' Get the property info
            loPropertyInfo = loType.GetProperty(tcProperty, System.Reflection.BindingFlags.Public Or _
             System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance Or _
             System.Reflection.BindingFlags.DeclaredOnly)

            ' If the property info is known as an object
            If Not loPropertyInfo Is Nothing Then
                Return loPropertyInfo.GetValue(loForm, Nothing)
            End If

            ' Get the field info
            loFieldInfo = loType.GetField(tcProperty, System.Reflection.BindingFlags.Public Or _
             System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance Or _
             System.Reflection.BindingFlags.DeclaredOnly)

            ' If the field info is nothing
            If loFieldInfo Is Nothing Then
                Return Nothing
            End If

            ' Get the field object
            loObject = loFieldInfo.GetValue(loForm)

            Return loObject
        End Function
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform