Preguntas etiquetadas con constructors



7
¿Usar "nuevo" en el constructor siempre es malo?
He leído que usar "nuevo" en un constructor (para cualquier otro objeto que no sea de valor simple) es una mala práctica, ya que hace que las pruebas unitarias sean imposibles (ya que esos colaboradores también deben crearse y no se pueden burlar). Como no tengo mucha experiencia en pruebas …

9
Validación de parámetros de constructor en C # - Mejores prácticas
¿Cuál es la mejor práctica para la validación de parámetros de constructor? Supongamos un simple bit de C #: public class MyClass { public MyClass(string text) { if (String.IsNullOrEmpty(text)) throw new ArgumentException("Text cannot be empty"); // continue with normal construction } } ¿Sería aceptable lanzar una excepción? La alternativa que …



3
Parámetros opcionales o constructores sobrecargados
Estoy implementando un DelegateCommand, y cuando estaba a punto de implementar los constructores, se me ocurrieron las siguientes dos opciones de diseño: 1: Tener múltiples constructores sobrecargados public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: …



5
¿Cómo puedes descomponer un constructor?
Digamos que tengo una clase de Enemigo, y el constructor se vería así: public Enemy(String name, float width, float height, Vector2 position, float speed, int maxHp, int attackDamage, int defense... etc.){} Esto se ve mal porque el constructor tiene muchos parámetros, pero cuando creo una instancia de Enemy necesito especificar …


3
cuán complejo debe ser un constructor
Estoy teniendo una discusión con mi compañero de trabajo sobre cuánto trabajo puede hacer un constructor. Tengo una clase, B que requiere internamente otro objeto A. El objeto A es uno de los pocos miembros que la clase B necesita para hacer su trabajo. Todos sus métodos públicos dependen del …
18 c#  constructors 




Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.