public MethodMetadata(MethodBase method) { Name = method.Name; GenericArguments = !method.IsGenericMethodDefinition ? null : TypeMetadata.EmitGenericArguments(method.GetGenericArguments()).ToList(); ReturnType = EmitReturnType(method); Parameters = EmitParameters(method.GetParameters()).ToList(); Modifiers = EmitModifiers(method); Extension = EmitExtension(method); }
public TypeMetadata(Type type) { Name = type.Name; AssemblyName = type.AssemblyQualifiedName; CreateDictionary(); DeclaringType = EmitDeclaringType(type.DeclaringType); Constructors = MethodMetadata.EmitMethods(type.GetConstructors()).ToList(); Methods = MethodMetadata.EmitMethods(type.GetMethods()).ToList(); NestedTypes = EmitNestedTypes(type.GetNestedTypes()).ToList(); ImplementedInterfaces = EmitImplements(type.GetInterfaces()).ToList(); GenericArguments = !type.IsGenericTypeDefinition ? null : TypeMetadata.EmitGenericArguments(type.GetGenericArguments()).ToList(); Modifiers = EmitModifiers(type); BaseType = EmitExtends(type.BaseType); Properties = PropertyMetadata.EmitProperties(type.GetProperties()).ToList(); Type = GetTypeKind(type); //m_Attributes = type.GetCustomAttributes(false).Cast<Attribute>().ToList(); Fields = EmitFields(type.GetFields()).ToList(); }