private void CacheAttribute(MemberInfo info, UnityDependencyAttribute attribute) { if (IsInjectorAttribute(attribute)) { CacheInjectorAttribute(info, (UnityInjectorAttribute)attribute); } else if (IsProviderAttribute(attribute)) { CacheProviderAttribute(info, (UnityProviderAttribute)attribute); } }
public static Injectable Create(MemberInfo info, object obj, UnityDependencyAttribute attribute) { string tag = null; if (attribute is InjectAttribute) { tag = ((InjectAttribute)attribute).Tag; } if (info.MemberType == MemberTypes.Property) { var pInfo = (PropertyInfo)info; return(new InjectableProperty(pInfo, pInfo.PropertyType, obj, tag, attribute)); } else if (info.MemberType == MemberTypes.Field) { var fInfo = (FieldInfo)info; return(new InjectableField(fInfo, fInfo.FieldType, obj, tag, attribute)); } return(null); }