2009-03-11 8 views
17

¿Hay alguna forma de desactivar la opción de opción para una sola línea de código?VB.NET Opción de giro estrictamente desactivada en línea

Estoy haciendo un trabajo de mantenimiento y tengo que "hacer trampa" en un solo lugar y no quiero bajar el estándar para todo el archivo.

+0

¿Por qué crees que debes "hacer trampa"? Cualquier conversión que sea posible en modo no estricto también se puede hacer en modo estricto. El compilador simplemente crea el código para usted en modo no estricto. – Guffa

+2

@Guffa: ¿Qué pasa con la vinculación tardía a los objetos COM? Un simple '[nostrict] someComObject.someMethod' sería mucho más legible que el uso de la reflexión. (Y sí, hay casos en los que el enlace tardío es más apropiado que la creación de DLL de interoperabilidad). – Heinzi

Respuesta

16

Lamentablemente, no es posible para una sola línea de código en un archivo. Vea el MSDN docs.

Por otro lado, probablemente podría hacer que su única línea de código sea una función separada, colocarla en un nuevo archivo con atributos de clase parciales y poner Option Strict Off en ese único archivo. El compilador de IL probablemente incorporará su función de todos modos, por lo que será equivalente a la velocidad, pero será feo desde un punto de vista práctico.

+0

Gracias Mike. Eso es exactamente lo que hice. Sí, es feo, pero estable. – Jeff

4

Como debe aparecer en la sección de declaraciones del módulo, entonces option strict no se puede utilizar en el medio del código. Pero se puede hacer por módulos, lo que podría ayudar un poco.

Y no hay ninguna mención en el libro "Visual Basic 2005 en pocas palabras" que sugiere que hay otro método para activarlo o desactivarlo.

-2

Un par de otras ideas:

  • podría codificar con ella en su mayoría fuera y encenderlo de vez en cuando para asegurarse de que el resto de su código cumple
  • puede configurar para que Option Strict es ON para compilaciones de lanzamiento pero OFF para compilaciones de depuración.
+2

Joel: -1 porque a) no servirá de nada en esta instancia yb) es una idea horrendamente mala. No es lo mismo que activar optimizaciones en una versión de lanzamiento. –

Cuestiones relacionadas