I solved using Generics in this way in the BaseFactory:
public T Create<T>()
{
return (T)Activator.CreateInstance(typeof(T), this);
}
then my DerivedFactory is simply this:
namespace FunzIA.DL.Factory
{
public class SocietyFactory : BaseFactory
{}
}
so i can write
Society actual = SocietyFactory.InitCreation()
.WithCode(idExpected)
.Create<Societa>();
solved Create a base fluent ordered constructor