Yes, but only if your use of C # 4 (or beyond) and IInterface declared as IInterface<out T> .
This is called general covariance, you can find more information about MSDN , or this (more formal, but more understandable) introduction from Bart de Smet.
source share