using System; using System.Collections.Generic; using ModestTree; namespace Zenject { [NoReflectionBaking] public class MethodProviderSimple : IProvider { readonly Func _method; public MethodProviderSimple(Func method) { _method = method; } public bool IsCached { get { return false; } } public bool TypeVariesBasedOnMemberType { get { return false; } } public Type GetInstanceType(InjectContext context) { return typeof(TReturn); } public void GetAllInstancesWithInjectSplit( InjectContext context, List args, out Action injectAction, List buffer) { Assert.IsEmpty(args); Assert.IsNotNull(context); Assert.That(typeof(TReturn).DerivesFromOrEqual(context.MemberType)); injectAction = null; buffer.Add(_method()); } } }