using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Text; using Microsoft.Extensions.DependencyInjection; namespace AutoMapPropertyHelper { public interface IAutomappedAttribute { public virtual object ApplyTo(IServiceProvider? providers, object value) => throw new NotImplementedException(); public virtual object? ApplyFrom(IServiceProvider? providers, object source) => throw new NotImplementedException(); public virtual Type GetSourceType() => throw new NotImplementedException(); } public interface IAutomappedAttribute : IAutomappedAttribute { object IAutomappedAttribute.ApplyTo(IServiceProvider? providers, object value) => throw new NotImplementedException(); object? IAutomappedAttribute.ApplyFrom(IServiceProvider? providers, object source) => throw new NotImplementedException(); Type IAutomappedAttribute.GetSourceType() => throw new NotImplementedException(); public TSource ApplyTo(IServiceProvider? providers, TSource value); public TSelf ApplyFrom(IServiceProvider? providers, TSource source); public Expression> GetProjectorFrom(IServiceProvider providers) => throw new NotImplementedException(); } }