示例#1
0
 private void CacheAttribute(MemberInfo info, UnityDependencyAttribute attribute)
 {
     if (IsInjectorAttribute(attribute))
     {
         CacheInjectorAttribute(info, (UnityInjectorAttribute)attribute);
     }
     else if (IsProviderAttribute(attribute))
     {
         CacheProviderAttribute(info, (UnityProviderAttribute)attribute);
     }
 }
示例#2
0
        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);
        }