I just moved to a new project that is written in C#, one of my
languages of choice, and have been sifting through the source code to
familiarize myself with what I'll be working with.

I found a class that has left me stumped, even after reading through
the C# Language Specification.  Is there anyone out there that could
enlighten me?  Google, so far, hasn't been able to.  The following is
an example of what I've found:

class SuperClass : ConfigurationElement
{
    private static ConfigurationProperty mValue;

    [ConfigurationProperty("value", IsRequired = true)]
    public string Value
    {
      get { return (string)base[mValue]; }
    }
}

I'm at a loss as to how mValue is being returned when it isn't a
member of the .NET ConfigurationProperty class, and I've written
myself a little console test program to play around with inheriting
the ConfigurationProperty class and doing base[] calls, but every time
I define a new member in the super class and attempt to access it via
the base[] statement, it fails to find the member, which actually
makes sense to me.  What am I missing?

Reply via email to