Alcuni anni fa, nell'era precedente a Java 5, Java non supportava gli attributi. Pertanto, per "etichettare" una classe o un'interfaccia in modo che possano essere verificate in fase di esecuzione, si useranno interfacce marcatore, che è fondamentalmente un'interfaccia vuota, ma è ancora possibile controllare se un'istanza può essere trasmessa a questa interfaccia.
In .NET, le interfacce marcatore non devono essere utilizzate ad eccezione di casi di utilizzo speciale (come ad esempio l'uso di metodi di estensione), poiché gli attributi forniscono un modo migliore per contrassegnare le classi (e molto altro) con la metainformazione. Lo stesso vale per Java 5 e versioni successive, in cui sono state introdotte le annotazioni che dovrebbero invece essere utilizzate.
Attributi? Intendi annotazioni? – EJP
@EJP, in .net quelli sono chiamati attributi. Ma i ragazzi di Java dovevano trovare un nome diverso per la stessa cosa quando finalmente li implementarono anche dopo aver detto a tutti che era una sciocchezza ... – Lucero
@EJP: Attributi in. Net: http://msdn.microsoft. it/it/us/library/aa288454 (VS.71) .aspx – Manish