Sigo viendo la frase "pato escribiendo", e incluso encontré un ejemplo de código o dos. Soy demasiado
perezoso
ocupado para hacer mi propia investigación, alguien puede decirme, brevemente:¿En qué se diferencia la tipificación de pato del tipo y las interfaces "variante" anterior?
- la diferencia entre un 'tipo de pato' y un viejo-skool 'tipo de variante', y
- proporcionan un ejemplo de donde podría preferir escribir pato sobre mecanografía variante, y
- proporcionar un ejemplo de algo que yo haría tiene para usar mecanografía de pato para lograr?
no me refiero a parecer aves por dudar del poder de esta 'nueva' construir, y no estoy esquivando el tema al negarse a hacer la investigación, pero estoy hasta Quacking en todo el bombo publicitario que he estado viendo últimamente. Parece que no mecanografía (también conocido como mecanografía dinámica), por lo que no estoy viendo las ventajas de inmediato.
ADENDA: Gracias por los ejemplos hasta ahora. Me parece que usar algo como 'O-> can (Blah)' es equivalente a hacer una búsqueda de reflexión (que probablemente no es barato), y/o es casi lo mismo que decir (O es IBlah) que el compilador podría poder verificar por usted, pero este último tiene la ventaja de distinguir mi interfaz de IBlah de su interfaz de IBlah, mientras que las otras dos no lo hacen. De acuerdo, tener una gran cantidad de pequeñas interfaces flotando alrededor de cada método sería desordenado, pero también lo es comprobar muchos métodos individuales ...
... así que de nuevo no lo entiendo. ¿Es un ahorro de tiempo fantástico, o lo mismo en un nuevo saco? ¿Dónde está el ejemplo que requiere pato escribiendo?
Creo que no quiere decir "variante", sino más bien vinculante a través de la interfaz de IDispatch. – wasker
muy bien hecho! Muy bien hecho. Gracias por hacerme sonreír hoy. – Tim
Hace falta algo de trabajo para enseñar a los patos a escribir, pero los rendimientos de la productividad son bastante valiosos ;-) – Rudiger