using System; using System.Collections.Generic; interface IA { Object vObj{get;} } class A : IA where T : struct { public T v; public A(T v) { this.v = v; } public Object vObj { get { return v; } } } class B{ public List ls = new List(); public B(){ ls.Add(new A(10)); ls.Add(new A(1.5)); } } class Test{ static void Main(string[] args){ B b = new B(); foreach (IA a in b.ls){ Console.WriteLine(a.GetType() + ":" + a.vObj); } } }