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?