通用函数中 On
public IPlatformElementConfiguration<T, AbsoluteLayout> On<T>() where T : IConfigPlatform
{
return _platformConfigurationRegistry.Value.On<T>();
}
答案 0 :(得分:3)
On
是方法的名称,T
是您在运行时定义的通用类型,其中T
的类型为IConfigPlatform
您应该漫步
Generics (C# Programming Guide)
泛型已添加到C#语言的2.0版和通用 语言运行时(CLR)。泛型向.NET Framework引入了 类型参数的概念,这使得设计类成为可能 和将一种或多种类型的规范推迟到 该类或方法由客户端代码声明和实例化。对于 例如,通过使用通用类型参数T,您可以编写一个 其他客户端代码可以使用而不会产生费用的类,或者 运行时强制转换或装箱操作的风险,如下所示:
示例是一种非常简单且完全没用的通用方法
public static void Method<T>(T input)
{
Console.WriteLine(typeof(T) + " : " + input);
}
public static void Main()
{
Method("Hello");
Method(234);
Method(new DateTime());
}
输出
System.String : Hello
System.Int32 : 234
System.DateTime : 1/1/0001 12:00:00 AM
答案 1 :(得分:2)
On
是方法的名称,而T
是您将在函数中使用的通用类型的名称。
由于函数是通用的,因此您不知道方法所处理的对象的类型,因此必须为其声明某种别名。在大多数情况下,当您仅使用一种通用类型时,将使用T
。另一种约定是将TResult
用作通用返回类型。
此外,还有一个约束条件规定类型T
必须是IConfigPlatform
或从中继承。