You can use the syntax as shown below with named parameters:
Example<string> test = new Example<string>(value1: "test");
An important trick here is to have different parameter names, as you currently have, so it will display the right constructor from the parameter name, and the code will look like this:
using System;
public class Program
{
public static void Main()
{
Example<string> test = new Example<string>(value1: "test");
test.Print();
}
class Example<T>
{
private object Value;
public Example(T value1)
{
this.Value = value1 + "1";
}
public Example(string value2)
{
this.Value = value2 + "2";
}
public void Print()
{
Console.WriteLine(Value as string);
}
}
}
.