Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
そのため、私は現在、プロジェクトをJavaからC#に移植する作業を行っており、何かを理解しようとしています。
現在、Javaでは、ジェネリック型の何かをクエリすると、ジェネリック型が消去されます。そのため、何かをクエリするときは、コレクションを取得して何を取得するかを知ることができるように、アノテーションを使用する必要があります。
C#では、これは同じ問題ですか?実行時にC#ジェネリックをクエリできますか?その場合、問題を解決するために属性を使用する必要がありますか?
実行時にC#ジェネリックをクエリできますか?
はい。ジェネリック型は型情報自体の一部であるため、C#では消去されません。この目的のために、C#でオブジェクトに属性を追加する必要はありません。
そうは言っても、ジェネリック型に加えてジェネリックメソッドを使用することで、適切な型を前もって構築できるため、型を「クエリ」する必要がない場合があります。