Пример #1
0
 internal InjectableType(TypeMapping tm, InjectableType @base, IReadOnlyList <MethodDef> ctors)
 {
     TypeMapping     = tm;
     Base            = @base;
     Ctors           = ctors;
     _featureDetails = new ConcurrentDictionary <InjectableFeature, object>();
     _flags          = new Dictionary <FieldDef, FlagDef>();
 }
Пример #2
0
 internal FlagDef(InjectableType it, FieldDef field)
 {
     Type      = it;
     Field     = field;
     _features = new List <InjectedFeature>();
 }
Пример #3
0
 public InjectableMethod(InjectableType type, MethodDef method, int score)
 {
     Type   = type;
     Method = method;
     Score  = score;
 }
Пример #4
0
 /// <summary>
 /// This must be implemented by a particular feature provider to rate potentially injectable method
 /// </summary>
 /// <param name="t">injectable type</param>
 /// <param name="m">method candidate for injection</param>
 /// <returns>rated injectable method or <see langword="null"/> if this method cannot be used for injection of this particular feature</returns>
 public abstract InjectableMethod Rate(InjectableType t, MethodDef m);