Daniel Keep wrote:

Tim M wrote:
Firstly option 2 was just crazy and I don't know why you said that.

Because it's how .NET does it.  Granted, .NET doesn't really have
templates; just deferred type erasure.  Still, it's basically the same idea.

This is a much easier feature to support, assuming you have sufficient reflection. You'd output some type constraints for the metadata on the generic element. On instantiation of a generic method, the runtime would check the given type against those constraints. Local variables of the generic type would be stored in an array on the heap, perhaps, or you could extend the stack as necessary. Methods and properties would all be accessed via reflection.

Dog slow, and it only works out as syntactic sugar. It isn't worthwhile.

Reply via email to