1

C#でこんなことできる?

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

または、私にできる代替手段はありますか?はい、リターンの型を持つことについて、私はそれについて知っています。もっと一般的なものを探していました:D

4

3 に答える 3

3

varはシンタックス シュガーです。型が不足しているわけではありません。型はコンパイル時に決定されます。

メソッド内でのみ使用できます。

おそらく、dynamic代わりに使用しようとしています。

動的型を使用すると、コンパイル時の型チェックをバイパスする操作が発生します。代わりに、これらの操作は実行時に解決されます。

タイプ 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 に答える