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>(); }
internal FlagDef(InjectableType it, FieldDef field) { Type = it; Field = field; _features = new List <InjectedFeature>(); }
public InjectableMethod(InjectableType type, MethodDef method, int score) { Type = type; Method = method; Score = score; }
/// <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);