私は持っている:
IDictionary<string, IDictionary<string, IList<long>>> OldDic1;
(説明のためだけに、それはインスタンス化され、値を持っています - 別の場所)
なぜ私はこれを行うことができます: ?
Dictionary<string, IDictionary<string, IList<long>>> dic1 =
OldDic1 as Dictionary<string, IDictionary<string, IList<long>>>;
基本的に、この行を実行した後の dic1 には、OldDic1 のすべての値があります。動作します。
ただし、これを行うと:
Dictionary<string, Dictionary<string, List<long>>> dic1 =
OldDic1 as Dictionary<string, Dictionary<string, List<long>>>;
null を取得します。クラッシュせず、代わりに null を返すことを除いて、キャストと同じです。問題は、インターフェイスから型にキャストできない理由です。そもそも保存方法を変更する以外に解決策はありますか?