public static void AttachProperties(this BindingClass target, IEnumerable<PropertyInfo> properties) { foreach (var property in properties) { var names = property.GetDomNames(); var accessors = property.GetDomAccessors(); var binding = property.CreatePropertyOrIndexBinding(); target.AttachAll(names, binding); if (binding is BindingFunction) target.AttachAll(accessors, binding as BindingFunction); } }
public static void AttachMethods(this BindingClass target, IEnumerable<MethodInfo> methods) { foreach (var method in methods) { if (method.IsConstructor) continue; var names = method.GetDomNames(); var accessors = method.GetDomAccessors(); var binding = method.CreateMethodBinding(); target.AttachAll(names, binding); target.AttachAll(accessors, binding); } }
public static void AttachEvents(this BindingClass target, IEnumerable<EventInfo> events) { foreach (var evt in events) { var names = evt.GetDomNames(); var binding = evt.CreateEventBinding(); target.AttachAll(names, binding); } }
public static void AttachFields(this BindingClass target, IEnumerable<FieldInfo> fields) { foreach (var field in fields) { var names = field.GetDomNames(); var binding = new BindingField(field.Name, field.FieldType); target.AttachAll(names, binding); } }