/// <summary> /// Finds best constructor, least parameter /// </summary> /// <param name="type">type</param> /// <param name="parameterTypes"></param> /// <returns>Matching constructor or default one</returns> public static ConstructorInfo?GetConstructor(this Type type, params Type[]?parameterTypes) { if (parameterTypes == null || parameterTypes.Length == 0) { return(GetEmptyConstructor(type)); } ActivatorHelper.FindApplicableConstructor(type, parameterTypes, out var ctor, out _); return(ctor); }