示例#1
0
 //constructor
 private MethodMetadata(MethodBase method)
 {
     m_Name             = method.Name;
     m_GenericArguments = !method.IsGenericMethodDefinition ? null : TypeMetadata.EmitGenericArguments(method.GetGenericArguments());
     m_ReturnType       = EmitReturnType(method);
     m_Parameters       = EmitParameters(method.GetParameters());
     m_Modifiers        = EmitModifiers(method);
     m_Extension        = EmitExtension(method);
 }
示例#2
0
        public MethodMetadata(MethodBase method)
            : base(method.IsConstructor ? method.ReflectedType.Name : method.Name)
        {
            GenericArguments   = !method.IsGenericMethodDefinition ? null : TypeMetadata.EmitGenericArguments(method.GetGenericArguments()).ToList();
            Parameters         = EmitParameters(method.GetParameters()).ToList();
            AttributesMetadata = TypeMetadata.EmitAttributes(method.GetCustomAttributes());

            ReturnType    = EmitReturnType(method);
            ReflectedType = TypeMetadata.EmitReference(method.ReflectedType);

            EmitModifiers(method);
            Extension = EmitExtension(method);
        }
示例#3
0
 internal TypeMetadata(Type type)
 {
     //m_Type = type;
     m_typeName = type.Name;
     if (!m_typesMetadata.ContainsKey(this.m_typeName))
     {
         m_typesMetadata.Add(this.m_typeName, this);
     }
     m_DeclaringType         = EmitDeclaringType(type.DeclaringType);
     m_Constructors          = MethodMetadata.EmitMethods(type.GetConstructors());
     m_Methods               = MethodMetadata.EmitMethods(type.GetMethods());
     m_NestedTypes           = EmitNestedTypes(type.GetNestedTypes());
     m_ImplementedInterfaces = EmitImplements(type.GetInterfaces());
     m_GenericArguments      = !type.IsGenericTypeDefinition ? null : TypeMetadata.EmitGenericArguments(type.GetGenericArguments());
     m_Modifiers             = EmitModifiers(type);
     m_BaseType              = EmitExtends(type.BaseType);
     m_Properties            = PropertyMetadata.EmitProperties(type.GetProperties());
     m_TypeKind              = GetTypeKind(type);
     //m_Attributes = type.GetCustomAttributes(false).Cast<Attribute>();
 }