我有这个功能
public static T2 MyFunc<T1, T2>( T1 a, T1 b, T2 c)
{
return c;
}
Run Code Online (Sandbox Code Playgroud)
我正在创建2个Persons类实例:
class Person
{ }
Person p = new Person();
Person p2 = new Person();
Run Code Online (Sandbox Code Playgroud)
我正在调用函数:
MyClass.MyFunc(p, p2, 5);
Run Code Online (Sandbox Code Playgroud)
我的问题是:
谁真正决定T1类型?(p?p2?)
因为如果左边是Apple,那么他会检查第二个是Apple也是苹果
如果第二个是橙色 - 他应该检查第一个是橙色.

在编译时问它是否会失败如果不一样,这似乎很奇怪.
仍然 - 谁决定类型?
第二 - 如果我将其更改为动态 - 在运行时 - 谁将决定T1类型应该是什么?