class A
{
//一些属性
public A()
{
//提供给非B类使用的
}
public A(int x,int y,int z,int _)//参数比较复杂(不只这几个)
{
//提供给B类用的
}
}
class B
{
//我想在B中定义化A类的十个实例(而且是静态的) ///一些属性
//private static A[] myA=new A[10](); //这样会惊动A的第一个构造函数,
//myA[0]=new A(x,y,z,_); //这样又会覆盖原来的实例,肯定会制造垃圾
//myA[1]=new A(x,y,z,_);
// .
// .
// .
//myA[10]=new A(x,y,z,_); //private static A[] myA=new A[10]{(参数很复杂直接这样实例化估计要写几英里),(),()}; //private static A[] myA;
//myA[0]=new A(x,y,z,_); //这样好象会报错
//myA[1]=new A(x,y,z,_);
//myA[10]=new A(x,y,z,_);
}
class C
{
//直接调用B.myA[0-----10];
}我想在B中定义化A类的十个实例(而且是静态的),谁的基础好能给我提供个更好的解决方法吗?
{
//我想在B中定义化A类的十个实例(而且是静态的) ///一些属性
//想在class C直接调用B.myA[0-----10]
//这里要声明为Public
public static A[] myA = new A[] {
new A(1,2,3,4),new A(1,2,3,4),
new A(1,2,3,4),new A(1,2,3,4),
new A(1,2,3,4),new A(1,2,3,4),
new A(1,2,3,4),new A(1,2,3,4),
new A(1,2,3,4),new A(1,2,3,4)
};
}
如果在其他时候赋值,不能保存你使用的时候是已赋值的
或者加个属性 class B
{ private static A[] myA = null; //属性
public static A[] MyA
{
get
{
if ( myA == null )
{
//如果未初始化,进行初始化
myA = new A[10];
myA[0] = new A( 1, 2, 3, 4 );
myA[1] = new A( 1, 2, 3, 4 );
myA[2] = new A( 1, 2, 3, 4 );
//....
} return myA;
} } }