public MethodTargetInjecteeBase(MethodInjectionAttributeBase attr, MethodBase targetMethod, MethodInfo injecteeMethod, TypeInjectee declInjectee)
     : base(attr, injecteeMethod, declInjectee)
 {
     TargetMethod = targetMethod;
 }
 public FieldStubInjectee(FieldStubAttribute attr, FieldInfo targetField, FieldInfo injecteeField, TypeInjectee declInjectee)
     : base(attr, injecteeField, declInjectee)
 {
     TargetField = targetField;
 }
 public MethodInjecteeBase(MethodInjectionAttributeBase attr, MethodInfo injecteeMethod, TypeInjectee declInjectee)
     : base(attr)
 {
     InjecteeMethod = injecteeMethod;
     DeclInjectee = declInjectee;
 }
 public FieldInjecteeBase(FieldInjectionAttributeBase attr, FieldInfo injecteeField, TypeInjectee declInjectee)
     : base(attr)
 {
     InjecteeField = injecteeField;
     DeclInjectee = declInjectee;
 }
 public FieldAddInjectee(FieldAddInjectionAttribute attr, FieldInfo injecteeField, TypeInjectee declInjectee)
     : base(attr, injecteeField, declInjectee)
 {
 }
 FieldInjecteeBase IFieldAttribute.GetInjectee(FieldInfo targetField, FieldInfo injecteeField, TypeInjectee declInjectee)
 {
     return new FieldStubInjectee(this, targetField, injecteeField, declInjectee);
 }
 MethodInjecteeBase IMethodAttribute.GetInjectee(MethodBase targetMethod, MethodInfo injecteeMethod, TypeInjectee declInjectee)
 {
     return new MethodReplaceInjectee(this, targetMethod, injecteeMethod, declInjectee);
 }
 public MethodStubInjectee(MethodStubAttribute attr, MethodBase targetMethod, MethodInfo injecteeMethod, TypeInjectee declInjectee)
     : base(attr, targetMethod, injecteeMethod, declInjectee)
 {
 }
 public MethodReplaceInjectee(MethodReplaceInjectionAttribute attr, MethodBase targetMethod, MethodInfo injecteeMethod, TypeInjectee declInjectee)
     : base(attr, targetMethod, injecteeMethod, declInjectee)
 {
 }
 public MethodAddInjectee(MethodAddInjectionAttribute attr, MethodInfo injecteeMethod, TypeInjectee declInjectee)
     : base(attr, injecteeMethod, declInjectee)
 {
 }