Hi Stokes, Thanks for the reply. I can certainly use the BaseType property to get the MemberInfo, but I then want to use that (say) FieldInfo object to set or get the value in the underlying base class. When I try to use it on the derived class it throws an exception and (quite rightly) claims that the member does not exist. What I really want to do is set that base class field on the derived class instance.
Thanks Again, mal ---- "Stokesbary wrote: > Have you tried using the BaseType property of the type you currently > have? That give you the ability to get the base type, but then the > question is, "how do you know when to stop iterating up". I go until I > hit null (which will be the case when your current type is Object), but > some people may say that will be too big of a performance hit if you > have a deep hierarchy. > > Stokes > > -----Original Message----- > From: Unmoderated discussion of advanced .NET topics. > [mailto:[EMAIL PROTECTED] On Behalf Of Malcolm Young > Sent: Monday, August 22, 2005 4:48 PM > To: [email protected] > Subject: [ADVANCED-DOTNET] Using Reflection to Obtain Private Members of > Base Classes > > Hi All, > > We have developed an OR mapping tool in house. Fields and properties are > marked up with attributes that describe the mappings. In order to > preserve encapsulation, these fields may be private. When it's time to > hydrate or persist the object, the mappings are used to gain access to > each field. > > This works fine except when inheritance comes in to the picture. Classes > that derive from other classes obviously can't reflect on their bases > private members. If the persistence code was manually coded this > wouldn't be a problem as we could just call a virtual method that could > call it's base however I am trying to perform the hydration, > serialisation on the basis of metadata. > > So far we ahve worked around this by making all the members of the base > class protected but it's a pretty crappy solution. So I guess my > question is: 'Can I use reflection to gain a reference to a base classes > private members?'. > > Thanks Guys, > > mal > > =================================== > This list is hosted by DevelopMentor http://www.develop.com > > View archives and manage your subscription(s) at > http://discuss.develop.com > > =================================== > This list is hosted by DevelopMentor® http://www.develop.com > > View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentor� http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com
