2012-11-08 28 views
3

所以我目前正在從一個項目從Java移植到C#,我試圖找出一些東西。可以在運行時查詢C#泛型嗎?

當前,在Java中,當我們查詢泛型類型的東西時,它將擦除Generic類型。因此,當我們查詢某些東西時,我們需要使用Annotation,這樣我們就可以獲得一個集合並知道我們得到了什麼。

在C#中,這是同樣的問題嗎?運行時可以查詢C#泛型嗎?如果我們這樣做,我們是否需要使用屬性來解決問題?

回答

7

運行時是否可以查詢C#泛型?

是的。泛型類型不會在C#中被擦除,因爲它們是類型信息本身的一部分。爲此,您不需要在C#中爲對象添加屬性。也就是說,除了泛型類型之外,通過使用泛型方法,您可能不需要「查詢」類型,因爲您可以預先構建適當的類型。

+0

嗯。好的。但。如果我不需要查詢,那麼我會怎樣去預先構建這個類型? –

+0

@Fender查看信息泛型的'new()'約束。不過,這真的取決於所討論的類型。 –

+0

好的。謝謝你的回答! –

相關問題