C#でこんなことできる?
var GetSomething()
{
var x = new { a = "b", i = 1 };
return x;
}
または、私にできる代替手段はありますか?はい、リターンの型を持つことについて、私はそれについて知っています。もっと一般的なものを探していました:D
var
はシンタックス シュガーです。型が不足しているわけではありません。型はコンパイル時に決定されます。
メソッド内でのみ使用できます。
おそらく、dynamic
代わりに使用しようとしています。
動的型を使用すると、コンパイル時の型チェックをバイパスする操作が発生します。代わりに、これらの操作は実行時に解決されます。
タイプ dynamic の使用も参照してください。
dynamic GetSomething()
{
dynamic x = new { a = "b", i = 1 };
return x;
}
var a = GetSomething();
static Object GetSomething()
{
var x = new { a = "b", i = 1 };
return (Object)x;
}
匿名型はメソッドから返すことができますが、オブジェクトにキャストする必要があります。これにより、強い型付けの目的が無効になります。
匿名型を返すことができました。オブジェクトとして返してからキャストしました。答えてくれた人ありがとう:D
object GetSomething()
{
var x = new { a = "b", i = 1 };
return x;
}