(重複していたらごめんなさい、nullableかプリミティブか何かをチェックするかどうかわかりません)
変数 Type のオブジェクトの配列を作成しています。int、、または(おそらく列挙型ではありませんが、それらはstring正しいですか?)のいずれかです。
PointMyCustomClassint
入力:配列要素の型。
ブラック ボックス:タイプを構築する必要があるかどうかを確認します。配列を作成し、必要に応じて各要素を作成します (現時点では重要ではないため、デフォルト値を使用します)。コンストラクターはパラメーターなし ( -> 関数の失敗) である必要がありますが、文字列を特別な型として扱います。
出力: object (実行時の型はint[]or string[]orPoint[]など)
私が直面している問題は、でいっぱいの配列を作成することです
null。プリミティブと構造体int[]は問題なく動作しますが、クラスは " null[]" になります。
私がこれまでに持っているもの(すべてをキャッチしたかどうかはわかりません):
public object createArray(Type arrayElementType, int arrayLength)
{
Array a = Array.CreateInstance(arrayElementType, arrayLength);
if (!arrayElementType.IsPrimitive) // correct would be: if (!arrayElementType.IsValueType)
for (int j = 0; j < arrayLength; j++)
a.SetValue(Activator.CreateInstance(arrayElementType), j);
return a;
}