Hi,
Ok, here's the long explanation.
Basically, today we cannot mock types that are declared in mscorlib. It is not the types, but more of the methods.
Now if you have a type that is derived from a type from mscorlib, and does not override the method its base type, which means the base type implementation is called, we can't mock this call either. If however, the derived type overrides this implementation, we can.
The bound type you created List<MyClass> is still considered an mscorlib implementation. If you try to mock the Count, you'll fail.
So how to deal with List<>. Since you can't mock the basic, what you can do is create a wrapper class of your own for the List, for the specific methods you want to mock. Then you mock the wrapper's method. It's a bit inconvenient, but works.
In the future, we are going to allow this. However, we currenty aware that it's not a single feature. It's adding support for types and methods in batches (for example, the first on the list are DateTime, File and Stream). Once we start doing this, I'll give an update on our progress.
Thanks