Reputation: 11
I have created a class student
and in that class contact
object is created (aggregation). I am retrieving all stored objects in "object" array.
If I want to access student
attribute I have to type cast it with student
and if I want to access contact
attribute either I have to give full path (student_object.contact_object.attribute_name
) or simply type cast with contact
and get the attribute value.
I have stuck at two places:
Jon, Actually I have created a object oriented database in C#.NET. where above classes are there. I am Retrieving all objects in Object array. Class student has field name and age , while contact has mobileID . Now I am creating a query through textboxes. If user want to see name of all the object , then var2 name he shold put. but i am not able to get this message messageBox.show(o0 as Student).var2); Same if instead of Student if I give var1 messageBox.show(o0 as var1).var2); Can I do this? thanks/Bharti
Upvotes: 0
Views: 552
Reputation: 1503729
Casting is important for compile-time information. That precludes anything that the user provides at execution time.
It sounds like you really need to just reflection:
PropertyInfo property = value.GetType().GetProperty(propertyName);
// Insert validation here...
object propertyValue = property.GetValue(value, null);
You'll need to be smarter if you want the user to be able to evaluate a path of properties such as Address.ZipCode
but it should give you a starting point.
Upvotes: 1