In C#, you add the :this(arguments) to the constructor, and leave its body blank.
So:
public class ReportGenerator
(
public ReportGenerator(String A, String B, String C)
{
// actual constructor code goes here
}
// overloaded constructor, only two arguments
// String C can be passed as String.Empty, or a default Value "value"
public ReportGenerator(String A, String B)
:this(A, B, YourDefaultValueForStringC)
{
}
// another overloaded constructor, only one argument
// Send one additional default argument, to the constructor above.
public ReportGenerator(String A)
:this(A, YourDefaultValueForStringB)
{
}
}