。次のようなものがあります。
internal sealed class SomeCompilerGeneratedNameHere<T1, T2>
{
public SomeCompilerGeneratedNameHere(T1 test1, T2 test2)
{
...
}
public T1 Test1 { get { ... } }
public T2 Test2 { get { ... } }
// Overrides for Equals, ToString, GetHashCode
}
あなたのケースでは、SomeCompilerGeneratedNameHere<int, int>
が使用されます。 (名前自体は "言い表せない"名前なので、コード内で明示的に参照することはできず、有効なC#タイプの命名の衝突はありません)。
コンストラクタとプロパティはです。実際にはか、内部であるかどうかはわかります。型自体は内部であることがわかります。
同じ順序で同じプロパティ名を持つすべての匿名型は、異なるジェネリック型を持つ可能性があります。
これは実装固有であることに注意してください。は、汎用タイプが使用されることを保証するを保証していません。使用される匿名タイプごとに1つのタイプが存在する可能性があります。 の仕様は、2つの匿名型作成式が、同じプロパティ名と同じ順序で同じタイプのを持つ場合、同じタイプを使用することを保証します。
'var type = ordinals.GetType();'生成されたコンパイル時です。タイプはあなたに関係するべきではありません。 – leppie