如何在C#中创建可通过Intellisense访问的变量

时间:2018-08-03 17:02:20

标签: c#

我开始使用C#,并且仍在学习基础知识。 我有几个不同的课程:

public class CompanyA{}
public class CompanyB{}
...

我需要为每种公司定义成人,儿童和婴儿的年龄,这样我便可以使用Intellisense访问这些“ int”值,并可以在其中分别初始化每个人的“ maxAge”和“ minAge” 。我相信这可能与以下内容类似:

CompanyA.Adult.minAge
CompanyB.Infant.maxAge

能否请您提供一个示例说明如何实现此目标?我需要创建其他类似的结构,因此拥有一个可行的示例将对我有很大帮助。

谢谢。

2 个答案:

答案 0 :(得分:2)

首先定义您的类,然后可以从智能感知中访问它们。

public class CompanyA
{
    public Adult Adult { get; set; }
    public Infant Infant { get; set; }
}

public class CompanyB
{
    public Adult Adult { get; set; }
    public Infant Infant { get; set; }
}

public class Adult 
{
    public int MaxAge { get; set; }
    public int MinAge { get; set; }
}

public class Infant
{
    public int MaxAge { get; set; }
    public int MinAge { get; set; }
}

现在,您将可以像这样访问它们:

CompanyA.Adult.MinAge
CompanyB.Infant.MaxAge

您的职业生涯很幸运。

编辑:

正如Jay在评论中建议的那样,您应该了解Access Modifiers的工作方式。 Here是对此的指南。

答案 1 :(得分:0)

感谢@agDev提供上述示例,使我朝着正确的方向前进。最后,我设法通过以下代码访问它们:

public class Ages 
{
    public int MaxAge { get; set; }
    public int MinAge { get; set; }
}

public class CompanyA
{
    public Ages Adult = new Ages { MinAge = 14, MaxAge = 55 };
    public Ages Infant = new Ages { MinAge = 0, MaxAge = 4 };
}

public class CompanyB
{
    public Ages Adult = new Ages { MinAge = 18, MaxAge = 60 };
    public Ages Infant = new Ages { MinAge = 0, MaxAge = 2 };
}