使用设置为该类的变量访问类字段

时间:2014-09-09 20:56:36

标签: c#

我的情况是,我有一个名为myClasses的类和两个名为subOnesubTwo的子类。

class myClasses
{
    class subOne 
    {
       public const SOfieldOne = "blahblah";
       public const SOfieldTwo = "blahblahblah";
    }

    class subTwo 
    {
       public const STfieldOne = "blahblah";
    }
}

我希望能够根据传递给我的一个方法的参数将变量设置为类subOnesubTwo。然后,我希望能够使用此常规变量访问subOnesubTwo中的成员。

例如,如果参数为" useSubOne"我想将变量subToUse设置为......

subToUse = myClasses.subOne;

然后,我应该可以通过输入以下内容来访问SOfieldOne ...

subToUse.SOfieldOne

我将如何做到这一点?

1 个答案:

答案 0 :(得分:1)

Polymorphism不适用于常量。以下是您的代码的样子:

private class myClasses
{
    private class subOne
    {
        public virtual string SOfieldOne
        {
            get { return "blahblah"; }
        }
    }

    private class subTwo : subOne
    {
        public override string SOfieldOne
        {
            get { return "something else"; }
        }
    }
}

现在你可以像这样创建一个新变量:

subOne someVariable = new subTwo();
Console.WriteLine(someVariable.SOfieldOne); // Prints "something else"