Esempio n. 1
0
 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;
         }
     }
 }
Esempio n. 2
0
 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);
 }