We know System.Array
is a abstract class and whatever DataType[]
we use runtime creates some concrete implementation for us somehow (vague though).
You're not seeing any call to that method, because you're invoking it yourself, as weird as that may sound. SZArrayHelper
is a CLR wrapper around an array, that implements the IList<T>
interface, kinda like the adapter pattern.
From this perspective, it makes sense that collection.Clear
invokes SZArrayHelper.Clear
directly.
Hans Passant explains this very well here: https://stackoverflow.com/a/11164210/857807