2016-10-11 5 views
0

私はこれを前の2つのスレッドから学んだことの続きと考えています。 Javascriptではなく、純粋なC#を使用します。デシリアライズされたクラスパラメータの配列を初期化せずに宣言するにはどうすればよいですか?

私はそれで3つのパラメータを持つクラスを持っている、と私は私が私のfirst threadから学んだことをもとに、クラス型

var param = js.Deserialize<ClassName>(jqData.Params); 

に、デシリアライゼーションの結果である変数を作成しています、それは値を格納します私が持っている3つのテキストボックス内で作った入力に基づいています。

私たちの目的のために、2番目のテキストボックスに3つのテキストボックスしか入力しなかったと仮定しましょう。値はnull, "abc", nullです。

今、実装したいと思っているsecond postから非常に良い提案があります。

これらのオブジェクトはすでに値を保持しているため、オブジェクトの配列を作成したい場合は、that excellent postの条件に基づいて配列を1要素に減らしてから、検証ロジックを進めてください。

しかし、私は配列部分を宣言するのに苦労しています。私がここで見たことから、スレッドの大部分はそれらの要素を宣言して初期化することを話しています。私はそれを必要としません。

私が必要とするのは、配列要素を持つ配列を宣言することです(array = [param.elem1, param.elem2, param.elem3]など)。コードを実行すると、[null, "abc", null]が返されます。

このような配列を正しく宣言する方法について正しい方向を教えてください。

答えて

1

あなたの考えは、これをどのように処理できるかに近いものでした。あなたはparam.elem1/2/3のタイプを知っている場合

var myArray = new object[] { param.elem1, param.elem2, param.elem3 }; 

は、あなたが(例えばstring[]代わりobject[]の)特定のタイプを使用することができます:ちょうどarray = [param.elem1, param.elem2, param.elem3]にご変更。

+0

私は明日の朝にそれをテストし、結果を教えてくれるでしょう。 –

+0

うん、ちょうど私が必要なもののように見える、ありがとう! –

関連する問題