Passing a list of objects to .net

I used string because I know nothing about your class and the usage is very similar with any types.

List.add(new MyClass()); is basically what you can use, just be sure that you use the fully qualified name of your .NET class, e.g. List.add(new MyNamespace.MyClass());. You would have to replace the string in GetType() too, but instead of that, get rid of generics in your public interface and create a non-generic collection simply by calling its constructor.