Las pautas de codificación de .NET dicen que tener una clase base o interfaz vacía (también llamada interfaz de "etiqueta") es un mal estilo. El estilo preferido es usar un atributo en lugar de anotar clases del mismo tipo. También hay un FxCop rule para hacer cumplir esta convención.
Sin embargo, algunas veces (en casos excepcionales) uso este modismo cuando una clase base común es útil para denotar una jerarquía común incluso si no existe una funcionalidad común. Los atributos no se pueden usar para esto.
Por ejemplo, en un intérprete para un lenguaje de programación, varios métodos devuelven una clase base especial Value
, es decir, algo que tiene un valor dentro de ese lenguaje de programación. Básicamente, este valor puede ser todo de un número a una cadena (que, son clases especiales, no System.Int32
o System.String
) a un objeto compuesto. I podría también devolver System.Object
pero esto haría que el tipeo de mi interfaz pública sea más débil.
Buen código de auto-documentación se beneficia de la interfaz restringida.
El objeto es una clase base vacía :) –
@Brian - El objeto no está vacío :) –
esto se relaciona con http://stackoverflow.com/questions/2424099/generic-interface-problem para el fondo –