2011-07-06 13 views

Respuesta

47

C# operators have to be static. Las interfaces, por definición, se aplican a las instancias. No hay ningún mecanismo para requerir un tipo para implementar métodos estáticos.

+0

Me vienen a la mente los métodos de extensión, pero los métodos de extensión no se pueden usar como operadores o propiedades. –

+0

¿Pero existe alguna razón por la cual las interfaces no se pudieron mejorar para incluir los métodos y operadores estáticos? – cordialgerm

+3

@pickles - no hay una razón sólida para que un lenguaje/compilador no pueda crear una construcción así (creo que puede haber algunos que lo hagan, Delphi tal vez, y puede ser imitado un tanto (métodos virtuales estáticos) al menos) en C++ usando plantillas (T :: Método())) - C# eligió no hacerlo. – dkackman

Cuestiones relacionadas