我有这样的:泛型没有特定类型
class Program
{
static void Main(string[] args)
{
var result = new Result<int, bool> { success = true, Data = 88 };
var result2 = new Result<string, bool> { success = true, Data = "Niels" };
Console.WriteLine(result2.success);
Console.WriteLine(result2.Data);
Console.ReadKey();
}
}
public class Result<T, TU>
{
public TU success { get; set; }
public T Data { get; set; }
}
所以这是具有两个属性的简单的泛型类。
我只是想知道,如何让这样的:
var result = new Result<int, bool> { success = true, Data = 88 };
更通用的:)。因为你还是要“说”的返回类型是什么:<int, bool>
所以是有可能做到这一点的例子是这样的:
<T var1, T var2> ?
谢谢
所以,我的意思是这样:
var result = new Result<T var1, T var2> { success = true, Data = 88 };
这样就可以填补的成功和任何你想要的数据(字符串,整数,浮点,布尔)..
你的意思是你想创建一个'Result'的实例,而不必明确写出泛型? – grek40
'公共结果 f(T t,TU tu)=>新结果(t,tu);''是更通用的。但编译器必须从某处获取类型参数。你必须更具体地说明''是什么意思。 –
构造函数不能自动推断泛型类型参数。但是方法*可以*,所以使用grek40提供的工厂方法。 – HimBromBeere