1

你能在 C# 中做这样的事情吗

var GetSomething()
{
    var x = new { a = "b", i = 1 };
    return x;
}

或者也许我可以做任何其他选择?关于返回类型是的,我知道。我正在寻找更通用的东西:D

4

3 回答 3

3

var是语法糖——它不是缺少类型。类型在编译时确定。

它只能在方法内部使用。

也许您正在寻找dynamic改用。

动态类型允许其发生的操作绕过编译时类型检查。相反,这些操作是在运行时解决的。

另请参阅使用类型动态

dynamic GetSomething()
{
    dynamic x = new { a = "b", i = 1 };
    return x;
}
于 2012-09-12T10:49:22.093 回答
0
var a = GetSomething();

static   Object  GetSomething()
{
    var x = new { a = "b", i = 1 };
    return (Object)x;
}

匿名类型可以从方法返回,但必须强制转换为对象,这违背了强类型的目的。

于 2012-09-12T11:02:20.590 回答
0

我设法返回匿名类型。我将它作为对象返回,然后将其转换。感谢任何回答的人:D

object GetSomething()
{
    var x = new { a = "b", i = 1 };
    return x;
}
于 2012-09-13T10:36:11.683 回答