質問です。
class A{
public static string[] foo;
:
:
public string[] bar = new string[2];  //�@
:
/*その他の処理*/
:
}

とし、別のクラスBで

class B{
A.foo = SerialPort.GetPortNames(); //�A
:
:
}

とすると、�A部分で初期化子が例外をスローします。(A.fooは宣言できてるのですが、値が格納できずnullとなっています。)
�@を配列ではなくstringにするとエラーがなくなるのですが、原因としてはなにが考えられるでしょうか。