Pregunta

Esto es con C # y .NET 3.5

Vamos a decir que tengo el siguiente método:

myMethod(myBaseClass mbc)

En mi proyecto, todas las siguientes clases heredan de MyBaseClass.

ot1:myBaseClass
ot2:myBaseClass
ot3:myBaseClass
ot4:myBaseClass

¿Hay trucos que me deja utilizar myMethod con OT1 y OT2 OT3 pero NO y OT4, o hacer básicamente que tengo a la sobrecarga para cada tipo Quiero permitir?

¿Fue útil?

Solución

Una interfaz. Cambiar su método de firma a

myMethod(ICastableAsMyBaseClass mbc)

A continuación, tienen OT1 y OT3 aplicar ICastableAsMyBaseClass.

Otros consejos

Usted puede comprobar la clase de MBC en tiempo de ejecución, pero obviamente eso no le impediría una llamada al método con el momento equivocado en tiempo de compilación.

Si desea recopilar en tiempo verificación de tipos que necesita para sobrecargar el método para cada tipo que desea permitir.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top