Perguntas com a marcação «constructors»



7
O uso de “novo” no construtor sempre é ruim?
Eu li que usar "novo" em um construtor (para outros objetos que não sejam de valor simples) é uma prática ruim, pois torna impossível o teste de unidade (pois esses colaboradores também precisam ser criados e não podem ser ridicularizados). Como não tenho muita experiência em testes de unidade, estou …

9
Validação de parâmetro do construtor em C # - Melhores práticas
Qual é a melhor prática para validação de parâmetro do construtor? Suponha um bit simples de C #: public class MyClass { public MyClass(string text) { if (String.IsNullOrEmpty(text)) throw new ArgumentException("Text cannot be empty"); // continue with normal construction } } Seria aceitável lançar uma exceção? A alternativa que encontrei …



3
Parâmetros opcionais ou construtores sobrecarregados
Estou implementando a DelegateCommande, quando estava prestes a implementar o (s) construtor (es), criei as duas seguintes opções de design: 1: Tendo vários construtores sobrecarregados public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: Ter apenas …



5
Como você pode decompor um construtor?
Digamos que eu tenho uma classe Enemy, e o construtor seria algo como: public Enemy(String name, float width, float height, Vector2 position, float speed, int maxHp, int attackDamage, int defense... etc.){} Isso parece ruim porque o construtor tem muitos parâmetros, mas quando eu crio uma instância Enemy, preciso especificar todas …


3
quão complexo um construtor deve ser
Estou tendo uma discussão com meu colega de trabalho sobre quanto trabalho um construtor pode fazer. Eu tenho uma classe B que internamente requer outro objeto A. O objeto A é um dos poucos membros que a classe B precisa fazer seu trabalho. Todos os seus métodos públicos dependem do …
18 c#  constructors 




Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.