4
我假设这个问题是重复的。 但我找不到这个问题SO调用带泛型参数的构造函数而不是显式的
我想实例化一个泛型类。但是,如果有一个带有显式参数的构造函数,并且由于给定类型,泛型构造函数也具有该参数,则将使用具有显式参数的构造函数。
例
class Program
{
static void Main(string[] args)
{
Example<string> test = new Example<string>("test");
test.Print();//Prints test2
}
}
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);
}
}
有没有办法来调用通用构造?
是的。将第三个构造函数添加到不带参数的类中。 – jdweng
我不是一个真正的C#人,但是如果你在构造函数中尝试了'explicit'关键字,会发生什么?我的尝试将在'string'构造函数上。 – aardvarkk