0

我在我使用的自定义序列化程序中将 POCO 对象转换为 IDictionary/IEnumerable。它已经使用了大约一年,没有出现任何故障。但是,我有一个根本不会转换为 IDictionary/IEnumerable 的类。以下所有返回错误:

(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

MyClass没有实现IDictionary,因此它不能被强制转换为IDictionary. 它也没有实现IEnumerableand IList,所以它也不会投射到它们中的任何一个。

于 2013-11-09T13:51:10.163 回答