Exemple #1
0
 static private Dictionary <String, MethodInfo> GetGetters(Type ClsO)
 {
     if (!mapClassGetters.ContainsKey(ClsO))
     {
         MethodInfo[] meths = ClsO.GetMethods();
         Dictionary <String, MethodInfo> methods = new Dictionary <String, MethodInfo>();
         foreach (MethodInfo method in meths)
         {
             if (method.Name.StartsWith(PREFIX_GETTER))
             {
                 InvarRule anno = GetMethodAnnotation <InvarRule>(method);
                 if (anno != null)
                 {
                     methods.Add(method.Name, method);
                     //log (ClsO + " -> " + method.Name);
                     String shortName = anno.S;
                     if (shortName != null && shortName != String.Empty)
                     {
                         methods.Add(shortName, method);
                     }
                 }
             }
         }
         mapClassGetters.Add(ClsO, methods);
     }
     return(mapClassGetters[ClsO]);
 }
Exemple #2
0
        static private String GetRule(Type ClsO, String key, XmlNode n)
        {
            MethodInfo method = GetMethod(key, PREFIX_GETTER, GetGetters(ClsO), ClsO, n);

            if (method == null)
            {
                return(null);
            }
            String    rule = null;
            InvarRule anno = GetMethodAnnotation <InvarRule>(method);

            if (anno != null && anno.T != String.Empty)
            {
                rule = anno.T;
            }
            return(rule);
        }