AutoInjectAttribute.cs 833 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. namespace Blue
  3. {
  4. /// <summary>
  5. /// 自动注入---可以对字段应用属性
  6. /// </summary>
  7. [AttributeUsage(AttributeTargets.Field)]
  8. public class AutoInjectAttribute : Attribute
  9. {
  10. private Type type;
  11. private InjectScope scope;
  12. public AutoInjectAttribute()
  13. {
  14. scope = InjectScope.Singleton;
  15. }
  16. public AutoInjectAttribute(Type injectType):base()
  17. {
  18. type = injectType;
  19. }
  20. public AutoInjectAttribute(Type injectType, InjectScope injectScope)
  21. {
  22. type = injectType;
  23. scope = injectScope;
  24. }
  25. public Type GetInjectType()
  26. {
  27. return type;
  28. }
  29. public InjectScope GetInjectScope()
  30. {
  31. return scope;
  32. }
  33. }
  34. }