public static IEnumerable <CorPropertyInfo> GetProperties(CorType type, bool checkBaseClasses = true) { for (; type != null; type = type.Base) { uint token; var mdi = type.GetMetaDataImport(out token); var pdTokens = MDAPI.GetPropertyTokens(mdi, token); foreach (var pdToken in pdTokens) { var info = ReadPropertyInfo(mdi, pdToken, type); if (info != null) { yield return(info); } } if (!checkBaseClasses) { break; } } }
public static CorMethodInfo GetToStringMethod(CorType type) { //TODO: Check for method overrides! for (; type != null; type = type.Base) { uint token; var mdi = type.GetMetaDataImport(out token); var mdTokens = MDAPI.GetMethodTokens(mdi, token); foreach (var mdToken in mdTokens) { var info = ReadMethodInfo(mdi, mdToken, type); if (info == null) { continue; } if (IsToString(info)) { return(info); } } } return(null); }