public void InspectProperty(IComponentInfo ctx, IKernel kernel, PropertyInfo p) { var settingAttr = GetSettingAttribute(p); if (settingAttr != null && !string.IsNullOrEmpty(settingAttr.Name)) { appSettingInjections.Add(CreatePropertyInjection(p, settingAttr)); return; } var manyAttr = GetInjectManyAttribute(p); if (manyAttr != null) { injections.Add(CreatePropertyInjection(kernel, p, manyAttr)); return; } var injectAttr = GetInjectAttribute(p); if (injectAttr != null) { injections.Add(CreatePropertyInjection(kernel, p, injectAttr)); return; } //var componentAttr = p.GetAttribute<ComponentAttribute>(true); var componentAttr = componentAttributeVisitor.VisitProperty(p); if (componentAttr != null) { exports.Add(new PropertyExportInfo { Id = componentAttr != null ? componentAttr.Id : null, Property = p, Getter = DynamicMethodFactory.GetGetter(p) }); return; } }
public void InspectField(IComponentInfo ctx, IKernel kernel, FieldInfo f) { var settingAttr = GetSettingAttribute(f); if (settingAttr != null && !string.IsNullOrEmpty(settingAttr.Name)) { appSettingInjections.Add(CreateFieldInjection(f, settingAttr)); return; } var manyAttr = GetInjectManyAttribute(f); if (manyAttr != null) { injections.Add(CreateFieldInjection(kernel, f, manyAttr)); return; } var injectAttr = GetInjectAttribute(f); if (injectAttr != null) { injections.Add(CreateFieldInjection(kernel, f, injectAttr)); return; } //var componentAttr = f.GetAttribute<ComponentAttribute>(true); var componentAttr = componentAttributeVisitor.VisitField(f); if (componentAttr != null) { exports.Add(new FieldExportInfo { Id = componentAttr != null ? componentAttr.Id : null, Field = f, Getter = DynamicMethodFactory.GetGetter(f) }); return; } }