Creé un nuevo proyecto en Visual Studio con target framework 2.0. Pero incluso si dejara en algún lugar la palabra clave var
, Visual Studio compila con éxito el proyecto. ¿Es este el comportamiento correcto ya que var
es la función 3.0? ¿Hay alguna configuración para evitar que se compile código con var
?Cómo deshabilitar la palabra clave var bajo el objetivo .net 2.0?
Respuesta
var
es una característica de C# 3.0, pero no requiere ningún marco características. En otras palabras, es absolutamente correcto utilizarlo dentro de un proyecto dirigido a .NET 2.0. Lo mismo ocurre con muchas otras características: tipos anónimos, propiedades automáticas, expresiones lambda, etc.
Consulte mi versions article para obtener más información. (Necesito actualizarlo para C# 4 en algún momento ...)
Si quiere para restringirse a C# 2.0, puede especificar la versión del idioma haciendo clic en "Avanzado" en la pestaña Generar del propiedades del proyecto, IIRC. (Definitivamente hay algún lugar, pero prefiero tomar una taza de café que comprobar la ubicación exacta en este momento).
Siempre que su proyecto siempre se compile con Visual Studio 2008 o posterior, está a salvo para usar las características de C# 3.0. El objetivo de .NET 2.0 solo restringe las bibliotecas que puede usar, no las funciones de idioma.
El propósito por el que necesito restringir mi código a 2.0 se supone que se compilará bajo .NET Framework 2.0 puro posteriormente. – DixonD
var
es puramente una función de tiempo de compilación, una vez que se compila el montaje, el compilador inserta el real tipo y el hecho de que se hubiera usado var
se "pierde".
De modo que un proyecto que se dirige a la versión 2.0 del marco de trabajo aún puede hacer uso de la característica var
, porque de hecho no afecta al ensamblaje de salida.
O bien reemplazar el texto completo de var por 1var1 y reemplazarlo manualmente o usar versiones previas del compilador.
- 1. Está utilizando la palabra clave var bad en C# 2.0?
- 2. ¿Qué significa la palabra clave PHP 'var'?
- 3. diferencia entre la palabra clave var y sin var
- 4. Declaración de variables sin palabra clave var
- 5. ¿La nueva palabra clave 'dinámica' C# 4.0 desaprueba la palabra clave 'var'?
- 6. ¿La palabra clave "var" dificulta la legibilidad del código?
- 7. Operación confusa de la palabra clave `var` de JavaScript
- 8. Powershell 2.0 Param Palabra clave Error
- 9. VB.NET equivalente a la palabra clave var C#
- 10. resharper "código de limpieza" contra la palabra clave 'var'
- 11. .net reflection y la palabra clave "params"
- 12. Objetivo de la palabra clave "auto" de C
- 13. ¿Pueden los ensamblados .NET 2.0 ejecutarse bajo .NET 4.0?
- 14. C# 'var' palabra clave contra las variables explícitamente definidas
- 15. ¿Cuál es el equivalente de VB.NET de la palabra clave "var" de C#?
- 16. ¿Cuál es el equivalente de la palabra clave 'var' de C# en Java?
- 17. ¿Por qué existe la palabra clave 'sellado' en .Net?
- 18. C# var uso de palabras clave
- 19. Cómo deshabilitar la palabra clave de la interfaz en Visual C++ Express 2008?
- 20. ¿Cuál es la ventaja de inicializar múltiples variables de JavaScript con la misma palabra clave var?
- 21. Añadir palabra bajo el cursor al patrón
- 22. La palabra clave contextual 'var' solo puede aparecer en un problema de declaración de variable local
- 23. el uso de la palabra clave privada
- 24. ¿Cómo funciona la palabra clave "como" internamente?
- 25. ¿Cómo funciona la palabra clave haskell rec?
- 26. ¿Cómo se resuelve el espacio de nombres .Net entra en conflicto con la palabra clave 'using'?
- 27. ¿Cómo funciona exactamente la palabra clave 'params'?
- 28. var tiempo de ejecución de la palabra clave o tiempo de compilación?
- 29. ¿Hay un equivalente a la palabra clave "var" de C# en C++/CLI?
- 30. Cómo deshabilitar la clave de inicio
+1./langversion (Opciones del compilador C#) (http://msdn.microsoft.com/en-us/library/f4ckecs0.aspx) – desco
¡Gracias Jon y Desco! Esto es exactamente lo que quiero: restringir las funciones del lenguaje a C# 2.0. – DixonD