Class InjectAttribute
Mark a Property or Field inside a class that can be Injected by ApplicationController Remember the member needs to be accessable to make the Injection work.
Inheritance
System.Object
    System.Attribute
    InjectAttribute
  Implements
System.Runtime.InteropServices._Attribute
  Inherited Members
      System.Attribute.Equals(System.Object)
    
    
      System.Attribute.GetCustomAttribute(System.Reflection.Assembly, System.Type)
    
    
      System.Attribute.GetCustomAttribute(System.Reflection.Assembly, System.Type, System.Boolean)
    
    
      System.Attribute.GetCustomAttribute(System.Reflection.MemberInfo, System.Type)
    
    
      System.Attribute.GetCustomAttribute(System.Reflection.MemberInfo, System.Type, System.Boolean)
    
    
      System.Attribute.GetCustomAttribute(System.Reflection.Module, System.Type)
    
    
      System.Attribute.GetCustomAttribute(System.Reflection.Module, System.Type, System.Boolean)
    
    
      System.Attribute.GetCustomAttribute(System.Reflection.ParameterInfo, System.Type)
    
    
      System.Attribute.GetCustomAttribute(System.Reflection.ParameterInfo, System.Type, System.Boolean)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.Assembly)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Boolean)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type, System.Boolean)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Boolean)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Type)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Type, System.Boolean)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.Module)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Boolean)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Type)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Type, System.Boolean)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Boolean)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Type)
    
    
      System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Type, System.Boolean)
    
    
      System.Attribute.GetHashCode()
    
    
      System.Attribute.IsDefaultAttribute()
    
    
      System.Attribute.IsDefined(System.Reflection.Assembly, System.Type)
    
    
      System.Attribute.IsDefined(System.Reflection.Assembly, System.Type, System.Boolean)
    
    
      System.Attribute.IsDefined(System.Reflection.MemberInfo, System.Type)
    
    
      System.Attribute.IsDefined(System.Reflection.MemberInfo, System.Type, System.Boolean)
    
    
      System.Attribute.IsDefined(System.Reflection.Module, System.Type)
    
    
      System.Attribute.IsDefined(System.Reflection.Module, System.Type, System.Boolean)
    
    
      System.Attribute.IsDefined(System.Reflection.ParameterInfo, System.Type)
    
    
      System.Attribute.IsDefined(System.Reflection.ParameterInfo, System.Type, System.Boolean)
    
    
      System.Attribute.Match(System.Object)
    
    
      System.Attribute.System.Runtime.InteropServices._Attribute.GetIDsOfNames(System.Guid, System.IntPtr, System.UInt32, System.UInt32, System.IntPtr)
    
    
      System.Attribute.System.Runtime.InteropServices._Attribute.GetTypeInfo(System.UInt32, System.UInt32, System.IntPtr)
    
    
      System.Attribute.System.Runtime.InteropServices._Attribute.GetTypeInfoCount(System.UInt32)
    
    
      System.Attribute.System.Runtime.InteropServices._Attribute.Invoke(System.UInt32, System.Guid, System.UInt32, System.Int16, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr)
    
    
      System.Attribute.TypeId
    
    
      System.Object.Equals(System.Object, System.Object)
    
    
      System.Object.GetType()
    
    
      System.Object.MemberwiseClone()
    
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
    
      System.Object.ToString()
    
  Namespace: MacacaGames.GameSystem
Assembly: Macaca.GameSystem.dll
Syntax
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false)]
public class InjectAttribute : Attribute, _AttributeExamples
In the case while trying to inject ChildClass the inject will has below result
ChildClass childClass = new ChildClass();
ApplicationController.Instance.ResolveInjection(childClass);
Result:
privateItem => noValue
protectedItem => hasValue
publicItem => hasValue
BaseClass baseClass = new BaseClass();
ApplicationController.Instance.ResolveInjection(baseClass);
Result:
privateItem => hasValue
protectedItem => hasValue
publicItem => hasValue
class ChildClass : BaseClass{
}
class BaseClass {
    privete SomeClass privateItem;
    protected SomeClass protectedItem;
    public SomeClass publicItem;
}Implements
      System.Runtime.InteropServices._Attribute