¿Qué son exactamente mixinas?
¿Hay alguna técnica para lograr eso en C#?Mixins y .net
Respuesta
No soy un experto, pero esto es lo que encontré.
De MSDN Blog:
Algunos sugieren que los métodos de extensión en la próxima C# 3.0 son una especie de Mixins, porque se puede poner en funcionalidades en estos métodos y arbitrariamente etiquetarla en cualquier clase que falta. En la especificación C# 2.0 sección 20.1.3, se llama claramente que la clase base de una clase genérica debe ser de clase construida , por lo que esto excluye el método que se utiliza en C#. No estoy demasiado seguro sobre por qué elegimos explícitamente no permitir la subclase abstracta. Dado que C# no es compatible con herencia múltiple, IMO debería ha sido compatible con la codificación de estilo Mixin.
Un mixin es un conjunto de miembros de clase que se pueden "mezclar" en una clase sin problemas de herencia múltiple.
C# no tiene mixins per-se, pero ofrece métodos de extensión para objetivos similares.
Aunque no es todo un mixin. ¿Tendría un ejemplo fácil de ver en cualquier lenguaje pseudo o real? –
@NoProblemBabe: por ejemplo, Ruby proporciona la mezcla 'Enumerable' que se puede combinar en clases enumerables para extender la clase con métodos de filtrado, mapeo y clasificación. C# /. NET tiene la clase estática 'Enumerable' que proporciona métodos de extensión para las clases de filtrado, mapeo y clasificación enumerables (" LINQ "). – dtb
interfaz pública IEmailItem { cadena SendToName {get; conjunto; } cadena SendToAddress {get; conjunto; } } luego un método de extensión SendMail (este IEmailItem m) {algún código real aquí} cada clase que implementa la interfaz IEmailItem "heredará" el método de envío de correo – eloycm
Por favor, echa un vistazo a re-mix on codeplex.com. Se trata de una biblioteca de código abierto para llevar a mixins .NET
Allí tendrá una guía paso a paso sobre cómo implementar mixins con .NET
- 1. Single Responsibility y Mixins
- 2. Groovy Mixins?
- 3. Mixins, plantillas variadic, y CRTP en C++
- 4. Mixins, multi-herencia, constructores, y los datos
- 5. Ruby mixins y super métodos de llamada
- 6. Mixins vs. Rasgos
- 7. ruby inheritivity vs mixins
- 8. Mixins con C# 4.0
- 9. CSS Gradients - Less Mixins
- 10. ¿Cómo usar Maven 3 mixins?
- 11. Mixins vs composición en scala
- 12. Mixins a máquina de escribir
- 13. ¿Objective-C admite caracteres/mixins?
- 14. rasgos java o patrón mixins?
- 15. ¿Los módulos == mixins en ruby?
- 16. ¿Cuál es la diferencia entre mixins estáticas y rasgo dinámico
- 17. ¿Cuáles son algunos buenos ejemplos de Mixins y/o Rasgos?
- 18. scala: mixins según el tipo de argumentos
- 19. Inicializando variables de instancia en Mixins
- 20. mixins Sass/CSS3 brújula no funciona
- 21. Cuadrícula semántica con Bootstrap + Mixins MENOS ¿CÓMO?
- 22. ¿Es posible implementar mixins en C#?
- 23. cómo JsDoc herencia múltiple o mixins?
- 24. ¿Por qué DataMapper usa mixins vs inheritance?
- 25. "La manera de Ruby" (mixins y reapertura de clase) versus inyección de dependencia
- 26. C# tiene clases e interfaces abstractas, ¿debería tener también "mixins"?
- 27. ¿Cuáles son las maneras elegantes de hacer MixIns en Python?
- 28. Django Modelos abstractos versus Python simples mixins vs Python ABCs
- 29. ¿Cómo afecta el orden de mixins a la clase derivada?
- 30. C# - Cómo hacer MÚLTIPLES "mixins" correctamente con interfaces y/o clases abstractas
enlace de Wikipedia si estás despistado como yo: http: // en.wikipedia.org/wiki/Mixin – Rup