0

Web サービス呼び出しからオブジェクトを取得しており、オブジェクトをシリアル化して隠しフィールドに格納しています。次に、オブジェクトをデシリアライズしており、以下のスクリーンショットのようになっています。

ここに画像の説明を入力

私の問題は、さまざまな方法で以下の情報にアクセスしようとすると、 無効なキャストエラーまたはSystem.InvalidCastException: 指定されたキャストが無効になることです。

decodedValues[0][2].Value
decodedValues[1][2].Value
decodedValues[2][2].Value

- 等

ASP.NET 1.1でどのように取得できますか?

4

1 に答える 1

1

簡単な方法でうまくいきます:

public string[] GetValues(object[] decodedValues)
{
    string[] returnValues = new string[decodedValues.Length];

    for(int i=0; i<decodedValues.Length; i++)
    {
        returnValues[i] = ((XmlAttribute[])decodedValues[i])[2].Value;
    }

    return returnValues;
}

ただし、覚えておいてください: スクリーンショットの型が一致しない場合は、InvalidCastException.. が返されます。そのため、型が一致するかどうかを確認するには、改善の余地があります。

于 2012-11-02T07:07:40.750 に答える