covarianza y contravarianza es anothe r ejemplo. Creo. Podría estar equivocado.
Bart De Smet says: "Existen muchas dualidades en diversas disciplinas, proporcionando grandes transferencias de conocimiento entre dominios diferentes. Por ejemplo, en lógica formal, la ley de De Morgan permite convertir expresiones construidas a partir de conjunciones construidas a partir de disyunciones, y viceversa. En la electrónica, existen similitudes entre el comportamiento de los condensadores y las inductancias: conocer uno y cómo ir y venir entre dominios, y uno conoce el otro. El cálculo de Fourier proporciona dualidades entre los dominios de tiempo y frecuencia ". Interesante.
También llaman a System.Reactive el dual de System.Interactive. Entonces, la mayoría de las funciones en uno de los ensamblajes tiene doble en el otro. Para aclarar, no es solo que IO es el doble de IE, sino que las funciones que operan en ellos también están duales.
Para responder a su pregunta, existen muchas interfaces duales. Puedes dualizar cualquier interfaz. Simplemente intercambia entradas y salidas y la dirección de la función. Algunos no serán útiles, o serán el doble de ellos mismos. Sin embargo, a veces hay personas realmente poderosas que se esconden esperando a ser descubiertas.
Tenga cuidado con el término "interfaz dual". Aunque el uso del término * dual * es obviamente correcto aquí, la frase * dual interface * se asocia comúnmente con 'IDispatch' y automatización, lo cual es un poco confuso (de eso pensé que era esta pregunta antes de abrirla). – Aaronaught