public virtual void OnThat(string s) { IEnumerator e = m_someInterfaceList.GetEnumerator(); for ( ; e.MoveNext(); ) { ISomeInterface sink = e.Current as ISomeInterface; sink.OnThat(s); } }