mi pregunta para hoy: ¿hay métodos sobrecargados en la interfaz incorrecta? Ya sabes, el tipo de métodos "omitir parámetros si no te importa, vamos a averiguar los valores predeterminados" sobrecargados. Al igual que :Métodos sobrecargados en la interfaz
void Add(object item);
void Add(object item, bool shouldDoSomething);
void Add(object item, bool shouldDoSomething, IUltraObscureDeviceContext context);
En este caso, tiendo a pensar que sólo este último pertenece a una interfaz y los demás debe ser implementado en la clase abstracta en la parte superior de la misma. Pero, de nuevo, no estoy seguro.
Además, hay momentos en los que simplemente desea diferentes sobrecargas haciendo un trabajo ligeramente diferente (detenerme allí mismo si los métodos sobrecargados nunca se deben utilizar para eso). O a veces no puedes rellenar nulls en lugar de algún parámetro, quieres que se genere la excepción si algo es nulo. ¿No debería usar sobrecarga en este caso?
Básicamente, estoy buscando algunas pautas sobre métodos sobrecargados en interfaces vs métodos sobrecargados en clases abstractas que implementan estas interfaces, etc. Gracias de antemano
Si el contrato que está entregando promete ofrecer 3 versiones de este método, entonces debe incluir esas sobrecargas. –
Bueno, sí, lo sé, pero la pregunta también incluye esto: ¿debo proporcionar contratos o no, a veces o quizás – Dyppl
¿Por qué no usamos ** parámetros predeterminados **? –