private JavascriptProperty CreateJavaScriptProperty(PropertyInfo propertyInfo) { var jsProperty = new JavascriptProperty(); jsProperty.ManagedName = propertyInfo.Name; jsProperty.JavascriptName = nameConverter == null ? propertyInfo.Name : nameConverter.ConvertToJavascript(propertyInfo); jsProperty.SetValue = (o, v) => propertyInfo.SetValue(o, v, null); jsProperty.GetValue = (o) => propertyInfo.GetValue(o, null); jsProperty.IsComplexType = IsComplexType(propertyInfo.PropertyType); jsProperty.IsReadOnly = !propertyInfo.CanWrite; return(jsProperty); }
private static JavascriptProperty CreateJavaScriptProperty(PropertyInfo propertyInfo, bool camelCaseJavascriptNames) { var jsProperty = new JavascriptProperty(); jsProperty.ManagedName = propertyInfo.Name; jsProperty.JavascriptName = GetJavascriptName(propertyInfo.Name, camelCaseJavascriptNames); jsProperty.SetValue = (o, v) => propertyInfo.SetValue(o, v, null); jsProperty.GetValue = (o) => propertyInfo.GetValue(o, null); jsProperty.IsComplexType = IsComplexType(propertyInfo.PropertyType); jsProperty.IsReadOnly = !propertyInfo.CanWrite; return(jsProperty); }
private static JavascriptProperty CreateJavaScriptProperty(PropertyInfo propertyInfo) { var jsProperty = new JavascriptProperty(); jsProperty.ManagedName = propertyInfo.Name; jsProperty.JavascriptName = LowercaseFirst(propertyInfo.Name); jsProperty.SetValue = (o, v) => propertyInfo.SetValue(o, v, null); jsProperty.GetValue = (o) => propertyInfo.GetValue(o, null); jsProperty.IsComplexType = !propertyInfo.PropertyType.IsPrimitive && propertyInfo.PropertyType != typeof(string); jsProperty.IsReadOnly = !propertyInfo.CanWrite; return(jsProperty); }
private static JavascriptProperty CreateJavaScriptProperty(PropertyInfo propertyInfo) { var jsProperty = new JavascriptProperty(); jsProperty.ManagedName = propertyInfo.Name; jsProperty.JavascriptName = LowercaseFirst(propertyInfo.Name); jsProperty.SetValue = (o, v) => propertyInfo.SetValue(o, v, null); jsProperty.GetValue = (o) => propertyInfo.GetValue(o, null); jsProperty.IsComplexType = IsComplexType(propertyInfo.PropertyType); jsProperty.IsReadOnly = !propertyInfo.CanWrite; return jsProperty; }