這段代碼當然是有效的。根據定義,IList有一個GetEnumerator()方法。爲什麼我無法通過反射找到IList類型的GetEnumerator()方法?
System.Collections.IList list = new List<string>();
System.Collections.IEnumerator ienum = list.GetEnumerator();
但是以下都不能找到名爲GetEnumerator的IList類型的成員。
Type iListType= typeof(System.Collections.IList);
var member = iListType.GetMember("GetEnumerator");
var members = iListType.GetMembers().Where(x => x.Name == "GetEnumerator");
var method = iListType.GetMethod("GetEnumerator");
var methods = iListType.GetMethods().Where(x => x.Name == "GetEnumerator");
錯了。 BindingFlags參數的默認值是BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance'包含'BindingFlags.Public'。 – dtb 2010-12-15 06:36:05