The template class describes a two-argument functor. It defines the member operator operator() so that, when the object is called as a function, it returns true only if the first argument is equal to the second.
You can also pass the object as a function argument whose type is delegate_type^ and it will be converted appropriately.