3

そのため、私は現在、プロジェクトをJavaからC#に移植する作業を行っており、何かを理解しようとしています。

現在、Javaでは、ジェネリック型の何かをクエリすると、ジェネリック型が消去されます。そのため、何かをクエリするときは、コレクションを取得して何を取得するかを知ることができるように、アノテーションを使用する必要があります。

C#では、これは同じ問題ですか?実行時にC#ジェネリックをクエリできますか?その場合、問題を解決するために属性を使用する必要がありますか?

4

1 に答える 1

7

実行時にC#ジェネリックをクエリできますか?

はい。ジェネリック型は型情報自体の一部であるため、C#では消去されません。この目的のために、C#でオブジェクトに属性を追加する必要はありません。

そうは言っても、ジェネリック型に加えてジェネリックメソッドを使用することで、適切な型を前もって構築できるため、型を「クエリ」する必要がない場合があります。

于 2012-11-08T21:36:03.447 に答える