Пример #1
0
        public static CMethodBase CreateMethod(CStringID agentClassId, CStringID methodClassId)
        {
            CMethodBase cMethodBase = Agent.FindMethodBase(agentClassId, methodClassId);

            if (cMethodBase != null)
            {
                return(cMethodBase.clone());
            }
            return(null);
        }
Пример #2
0
        public static CMethodBase FindMethodBase(string propertyName)
        {
            int num = propertyName.LastIndexOf(':');

            if (num != -1)
            {
                string    str          = propertyName.Substring(0, num - 1);
                CStringID agentClassId = new CStringID(str);
                CStringID propertyId   = new CStringID(propertyName.Substring(num + 1));
                return(Agent.FindMethodBase(agentClassId, propertyId));
            }
            return(null);
        }
Пример #3
0
 public static CMethodBase FindMethodBase(CStringID agentClassId, CStringID propertyId)
 {
     if (Agent.Metas.ContainsKey(agentClassId))
     {
         Agent.CTagObjectDescriptor cTagObjectDescriptor = Agent.Metas[agentClassId];
         for (int i = 0; i < cTagObjectDescriptor.ms_methods.Count; i++)
         {
             CMethodBase cMethodBase = cTagObjectDescriptor.ms_methods[i];
             if (cMethodBase.GetId() == propertyId)
             {
                 return(cMethodBase);
             }
         }
         if (cTagObjectDescriptor.type != null && cTagObjectDescriptor.type.get_BaseType() != null)
         {
             CStringID agentClassId2 = new CStringID(cTagObjectDescriptor.type.get_BaseType().get_FullName());
             return(Agent.FindMethodBase(agentClassId2, propertyId));
         }
     }
     return(null);
 }