C#泛型-out关键字-“方法的返回类型错误”

时间:2018-07-17 01:08:07

标签: c# generics out

所以,我在这里有这个程序:

public delegate R ReturnObject<out R>();

static void Main(string[] args)
{

    ReturnObject<object> returnObject1 = ReturnObj;
    ReturnObject<string> returnString1 = ReturnString;
    ReturnObject<int> returnInt = ReturnInt;

    returnObject1 = ReturnString;


    Console.ReadLine();

}

static object ReturnObj() { return new object(); }
static string ReturnString() { return "hello"; }
static int ReturnInt() { return 1; }

这有效。但是当我这样做时:

returnObject1 = returnInt;

给我一​​个错误,说“ ReturnInt的返回类型错误”或类似的东西。但为什么?可以将Int转换为对象,对不对?

谢谢

0 个答案:

没有答案