C#에 대해서 질문 좀 할께..


interface Foo<T>

{

T get();

void set(T);

}


이런 제네릭 인터페이스가 있다고 치고


이 인터페이스를 구현한 놈이 있는데 


class 클래스1 : Foo<Data1>

{  ... }


class 클래스2 : Foo<Data2>

{ ... }


이 데이터 타입이 다른 두 놈들을 인터페이스 배열에 처 넣을 수 있는 방법이 있냐?



Foo<Data1> t1 = new 클래스1<Data1>()

Foo<Data2> t2 = new 클래스1<Data2>()


Foo[] arr = { t1, t2 };


이렇게 쓰고 싶은데 방법이 있음?

foreach( var i in arr)

i .get();



뭐 없으면 어쩔수 없는거지만.