c#在另一个类中创建类

时间:2014-10-28 12:11:25

标签: c# class nested

以下是代码:

public class Alpha
{
   public Alpha()
   {
       Beta beta = new Beta();
   }
   public class Beta
   {
   }
}

我像这样实例化Alpha:

Alpha alpha = new Alpha();

为什么我无法从Alpha访问测试版?
当我输入" Alpha。"视觉工作室不会显示" beta"作为一种选择 还有为什么我不能使用" public"对于alpha或beta?

4 个答案:

答案 0 :(得分:0)

这样的东西?

Alpha.Beta ab = new Alpha.Beta();

答案 1 :(得分:0)

试试这个: 创建一个名为Alpha.cs的类 在此示例中创建了一个metodo来访问beta属性。

 public class Alpha
    {
        public Alpha()
        {
            betaTest = new Beta();
        }

        private Beta betaTest = null;

        public Beta BetaTest
        {
            get { return betaTest; }
            set { betaTest = value; }
        }



        public class Beta
        {
        }

    }

之后,您可以实例化Alpha和Beta,并根据需要使用它们。

我附上一个简短的例子

Alpha alpha = new Alpha();
Alpha.Beta b = new Alpha.Beta();
b = alpha.BetaTest;

enter image description here

答案 2 :(得分:0)

您的变量beta仅在Alpha类的构造函数中本地创建,并且在构造函数完成后将立即超出范围,因此您无法从外部访问beta变量。 要到达A类之外的变量,您必须在A中使用公共访问器定义成员属性,例如:

public class Alpha
{
    // property to access member variable from outside
    public Beta beta{ get; private set; }

    public Alpha()
    {
         // initialize the member with a new instance
         beta = new Beta();
    }
    public class Beta
    {
    }
}

答案 3 :(得分:-1)

您需要将属性添加到Alpha课程,请参阅this code