来自C#中另一个A类的B类参考数据

时间:2013-03-16 03:11:16

标签: c#

我知道如何从A类引用B类的方法,但我正在努力引用数据。例如

class A 
{
    int[] array1;
    method 1
    {
        //do something and ...
        array1 = something;
    }
}

然后在B班

class B
{
    int[] array2 = new B.array;
}

但是这里的array2只是新的空白数据结构,其中没有实际数据。在B类中,我如何使用A类现有的array1数据?

例如,array1可能是视频流数据。

谢谢你, 肖恩

2 个答案:

答案 0 :(得分:1)

在类A中公开数组。然后,您可以在A中的B现有实例中访问它。

class B
{
    int[] array2;

    // constructor function for class B
    public B(A aInstance) {
        // set array2 to aInstance's array1
        array2 = aInstance.array1;
    }
}

A a = new A();
B b = new B(a);

您还可以在array1中设置A静态。从那里,您可以从A.array1

访问它

<强> Access Modifiers

答案 1 :(得分:0)

你有几点困惑。

首先,在Class A中,成员变量Array 1默认为私有访问权限,因此您无法从B类中“看到”它。

其次,优秀的设计需要您将Array 1作为Class A属性,如下所示:

class A
{
int[] array1;

public int[] TheArray
  {
    get { return array1; }
    set { array1 = value; }
  }
}

然后你可以写:

class B

void myMethod() {
 int[] array2 = A.TheArray;
}