Exemple #1
0
 public CTagObjectDescriptor GetDescriptor()
 {
     if (this.m_objectDescriptor == null)
     {
         this.m_objectDescriptor = GetDescriptorByName(base.GetType().FullName);
     }
     return(this.m_objectDescriptor);
 }
Exemple #2
0
        public static System.Type GetTypeFromName(string typeName)
        {
            CStringID key = new CStringID(typeName);

            if (Metas.ContainsKey(key))
            {
                CTagObjectDescriptor descriptor = Metas[key];
                return(descriptor.type);
            }
            return(null);
        }
Exemple #3
0
        public static CTagObjectDescriptor GetDescriptorByName(string className)
        {
            CStringID key = new CStringID(className);

            if (Metas.ContainsKey(key))
            {
                return(Metas[key]);
            }
            CTagObjectDescriptor descriptor = new CTagObjectDescriptor();

            Metas.Add(key, descriptor);
            return(descriptor);
        }
Exemple #4
0
        public CMemberBase FindMember(uint propertyId)
        {
            CTagObjectDescriptor descriptor = this.GetDescriptor();
            CMemberBase          base2      = null;

            for (int i = 0; i < descriptor.ms_members.Count; i++)
            {
                base2 = descriptor.ms_members[i];
                if (base2.GetId().GetId() == propertyId)
                {
                    return(base2);
                }
            }
            return(null);
        }
Exemple #5
0
        private CNamedEvent findEvent(string eventName)
        {
            CTagObjectDescriptor descriptor = this.GetDescriptor();
            int         contextId           = this.GetContextId();
            CNamedEvent event2 = findNamedEventTemplate(descriptor.ms_methods, eventName, contextId);

            if (event2 != null)
            {
                CNamedEvent event3 = (CNamedEvent)event2.clone();
                CStringID   gid    = new CStringID(eventName);
                this.EventInfos[gid] = event3;
                return(event3);
            }
            return(null);
        }
Exemple #6
0
 public static CMethodBase FindMethodBase(CStringID agentClassId, CStringID propertyId)
 {
     if (Metas.ContainsKey(agentClassId))
     {
         CTagObjectDescriptor descriptor = Metas[agentClassId];
         for (int i = 0; i < descriptor.ms_methods.Count; i++)
         {
             CMethodBase base2 = descriptor.ms_methods[i];
             if (base2.GetId() == propertyId)
             {
                 return(base2);
             }
         }
         if ((descriptor.type != null) && (descriptor.type.BaseType != null))
         {
             CStringID gid = new CStringID(descriptor.type.BaseType.FullName);
             return(FindMethodBase(gid, propertyId));
         }
     }
     return(null);
 }