示例#1
0
        private static IEnumerable <ParameterMetadata> EmitFields(IEnumerable <FieldInfo> fieldInfo)
        {
            List <ParameterMetadata> parameters = new List <ParameterMetadata>();

            foreach (FieldInfo field in fieldInfo)
            {
                StoreType(field.FieldType);
                parameters.Add(new ParameterMetadata(field.Name, TypeMetadata.EmitReference(field.FieldType)));
            }
            return(parameters);
        }
示例#2
0
        private static TypeMetadata EmitReturnType(MethodBase method)
        {
            MethodInfo methodInfo = method as MethodInfo;

            if (methodInfo == null)
            {
                return(null);
            }
            TypeMetadata.StoreType(methodInfo.ReturnType);
            return(TypeMetadata.EmitReference(methodInfo.ReturnType));
        }
示例#3
0
 private static IEnumerable <ParameterMetadata> EmitParameters(IEnumerable <ParameterInfo> parms)
 {
     return(from parm in parms
            select new ParameterMetadata(parm.Name, TypeMetadata.EmitReference(parm.ParameterType)));
 }
示例#4
0
 public static IEnumerable <PropertyMetadata> EmitProperties(IEnumerable <PropertyInfo> props)
 {
     return(from prop in props
            where prop.GetGetMethod().GetVisible() || prop.GetSetMethod().GetVisible()
            select new PropertyMetadata(prop.Name, TypeMetadata.EmitReference(prop.PropertyType)));
 }