using System.Collections.Generic; class Variable { } internal partial class Test { } internal partial class Test where T : IList { public Test (T t) { var val = t.Count; } } internal partial class Test { } class CC { public static void Main () { new Test> (new List ()); } }