1
は、C#で、次の些細な匿名型を守っC#の匿名型で生成される奇妙なプロパティの種類は何ですか?
new { X = 5 };
(オブジェクトメソッドのオーバーライドを省略)リフレクターに見られるように、それぞれのコンパイラ生成されたコードは次のとおりです。
[CompilerGenerated]
internal sealed class <>f__AnonymousType0<<X>j__TPar>
{
// Fields
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private readonly <X>j__TPar <X>i__Field;
// Methods
[DebuggerHidden]
public <>f__AnonymousType0(<X>j__TPar X)
{
this.<X>i__Field = X;
}
// Properties
public <X>j__TPar X
{
get
{
return this.<X>i__Field;
}
}
}
私の質問は、地球上で(何をWOEです)は<X>j__TPar
ですか?タイプはリフレクターにはどこにも反映されていません。
[OK]を参照してください:[なぜ匿名型が一般的なのですか?](http://blogs.msdn.com/b/ericlippert/archive/2010/12/20/why-are-anonymous-types-generic.aspx) by Eric Lippert –
名前には角括弧も含まれているので、C#コードからは絶対に呼び出すことはできません(角括弧はC#の名前では無効ですが、ILでは使用できません)。 http://csharpindepth.com/Articles/General/BluffersGuide3.aspx –
@Henk:素晴らしいリンクを参照してください。これを答えとして追加するとアップアップします。 :) –