public static object CreateInstance(Type projectionInterfaceType, object tag = null) { var instance = Activator.CreateInstance(EntityProjectionTypeBuilder.GetProjectionType(projectionInterfaceType)); SetTag(instance, tag); return(instance); }
public static TProjectionInterface CreateInstance <TProjectionInterface>(object tag = null) { var instance = (TProjectionInterface)Activator.CreateInstance( EntityProjectionTypeBuilder.GetProjectionType(typeof(TProjectionInterface))); SetTag(instance, tag); return(instance); }
public static TProjectionInterface CreateInstance <TProjectionInterface>( Action <Initializer <TProjectionInterface> > initializeAction, object tag = null) { if (initializeAction == null) { throw new ArgumentNullException(nameof(initializeAction)); } var instance = (TProjectionInterface)Activator.CreateInstance( EntityProjectionTypeBuilder.GetProjectionType(typeof(TProjectionInterface))); var initializer = new Initializer <TProjectionInterface>(instance); initializeAction(initializer); SetTag(instance, tag); return(instance); }
public static Type GetProjectionType <TProjectionInterface>() => EntityProjectionTypeBuilder.GetProjectionType(typeof(TProjectionInterface));
public static Type GetProjectionType(Type projectionInterfaceType) => EntityProjectionTypeBuilder.GetProjectionType(projectionInterfaceType);