我有兩個接口,通用和非通用有一個傳承層次:如何枚舉實現通用接口的所有項目?
public interface IGenericRelation<TParent, TChild> : IRelation
public interface IRelation
通用一個由動態加載幾個服務器控件實現,我想枚舉的控件的集合實現這個接口。我可以做以下
foreach (IRelation relationControl in this.uiPlhControls.Controls.OfType<IRelation)
{ ... }
但我真的希望能夠做的是...
foreach (IGenericRelation<,> relationControl in this.uiPlhControls.Controls.OfType<IGenericRelation<,>)
{ ... }
,然後可以用它提供的各類使用relationControl
那麼我可以訪問IGenericRelation上的強類型屬性。不幸的是,這是不可能的,因爲它似乎我不能省略類型參數。
有沒有人知道一種方法來枚舉實現通用接口,以防止我必須寫幾個循環而不是一個循環的控件?也許使用反射?
我似乎記得一個早期的Linq樣本,但是當我來看linq時,我找不到它。我正在看這個空間。 。 。 – 2009-06-10 15:19:04