Provavelmente isso já foi feito antes, mas uma pesquisa rápida trouxe apenas a mesma pergunta para C #. Veja aqui. O que basicamente quero fazer é verificar se um determinado objeto implementa uma determinada interface. Eu meio que descobri uma solução, mas isso não é confortável o suficiente...