0

私が使用するカスタムシリアライザーで POCO オブジェクトを IDictionary/IEnumerable にキャストしています。故障もなく約1年使用しています。ただし、IDictionary/IEnumerable としてキャストしないだけのクラスがあります。以下はすべて false を返します。

(obj is IDictionary); // false
(obj is IList); // false
(obj is IEnumerable); // false

クラスは次のように定義されます: (名前が変更され、プロパティが増えました)

internal class MyClass {
   public int ID;
   public string Text;
}

何を与える?IDictionaries としてキャストできないオブジェクトは何ですか? プロパティをキー/値ストアとして列挙する方法が必要です。リフレクションはお勧めしません。

4

1 に答える 1

3

YourMyClassは を実装していないためIDictionary、 にキャストできませんIDictionaryIEnumerableandも実装しIListていないため、どちらにもキャストされません。

于 2013-11-09T13:51:10.163 に答える