internal static IEnumerable<PropertyMetadata> EmitProperties(IEnumerable<PropertyInfo> properties) { return from prop in properties where prop.GetGetMethod().GetVisible() || prop.GetSetMethod().GetVisible() select new PropertyMetadata(prop.Name, TypeMetadata.EmitReference(prop.PropertyType)); }
internal static TypeMetadata EmitReturnType(MethodBase method) { MethodInfo methodInfo = method as MethodInfo; if (methodInfo == null) { return(null); } return(TypeMetadata.EmitReference(methodInfo.ReturnType)); }
internal static IEnumerable <ParameterMetadata> EmitParameters(ParameterInfo[] parameters) { return(from parameter in parameters select new ParameterMetadata(parameter.Name, TypeMetadata.EmitReference(parameter.ParameterType))); }