¿Las interfaces vacías huelen con código? [cerrado

Tengo una función que devuelve el mismo tipo de objetos (resultados de la consulta) pero sin propiedades ni métodos en común. Para tener un tipo común recurrí usando una interfaz vacía como tipo de retorno y "implementé" eso en ambos.

Eso no suena bien, por supuesto. Solo puedo consolarme aferrándome a la esperanza de que algún día esas clases tengan algo en común y moveré esa lógica común a mi interfaz vacía. Sin embargo, no estoy satisfecho y estoy pensando si debería tener dos métodos diferentes y llamar condicionalmente a continuación. ¿Sería ese un mejor enfoque?

También me han dicho que .NET Framework utiliza interfaces vacías para fines de etiquetado.

Mi pregunta es: ¿es una interfaz vacía una señal fuerte de un problema de diseño o se usa ampliamente?

EDITA: Para aquellos interesados, más tarde descubrí que las uniones discriminadas en lenguajes funcionales son la solución perfecta para lo que estaba tratando de lograr. C # todavía no parece amigable con ese concepto.

EDITA: Escribí un pieza más larga sobre este problema, explicando el problema y la solución en detalle.

Respuestas a la pregunta(5)

Su respuesta a la pregunta