El uso de IntPtr en código administrado podría indicar un problema de confiabilidad y de seguridad potencial. Todos los usos de IntPtr se deben revisar para determinar si se requiere el uso de SafeHandle (o una tecnología similar) en su lugar. Habrá problemas si IntPtr representa algunos recursos nativos (memoria, identificador de archivos, socket, etc.) que se consideran propiedad del código administrado. Es decir, si se espera que el código administrado, de alguna forma, libere el recurso, al no hacerlo puede originar una fuga del recurso. En dichos escenarios, también se darán problemas de seguridad y confiabilidad si se permite el acceso de varios subprocesos a IntPtr y un medio de liberar el recurso representado por IntPtr. Estos problemas implican el reciclaje del valor de IntPtr cuando se dé la liberación del recurso a la vez que se realiza un uso simultáneo del recurso en otro subproceso, lo que da lugar a condiciones de carrera donde un subproceso puede leer y escribir datos asociados con el recurso incorrecto. Por ejemplo, si el tipo almacena un identificador de SO como IntPtr y permite a los usuarios llamar tanto a Close como a cualquier otro método que use ese identificador simultáneamente (sin ningún tipo de sincronización), el código tiene un problema de reciclaje del identificador, lo que daña los datos y suele vulnerar la seguridad. SafeHandle (y su clase relacionada CriticalHandle) proporcionan un mecanismo para encapsular un identificador nativo para un recurso, con el fin de evitar los mencionados problemas con los subprocesos (además de otros problemas como la necesidad de un control atento de la duración de los objetos administrados que contienen una copia del identificador nativo sobre las llamadas a métodos nativos; es decir, por lo general se pueden quitar las llamadas a GC.KeepAlive). El uso de SafeHandle (y en menor medida de CriticalHandle) conlleva una reducción del rendimiento que, por lo general, se puede solventar con un diseño cuidado.
El uso de '->' en expresiones de secuencia y de cómputo está limitado a la forma 'for pat in expr -> expr'. Use la sintaxis ...
El uso de argumentos con nombre en expresiones de caso de unión está reservado para uso futuro. Los argumentos con el formato ...
El uso de asociaciones de archivo requiere que la aplicación sea de plena confianza, .NET Framework 3.5 o superior como destino ...
El uso de esta construcción puede dar lugar a que se genere código .NET de IL que no se puede comprobar. Esta advertencia ...
El uso de IntPtr en código administrado podría indicar un problema de confiabilidad y de seguridad potencial. Todos los usos ...
El uso de la tecnología adecuada de Windows proporcionará una experiencia de usuario extraordinaria. Obtenga información ...
El uso de las peticiones imperativas puede conducir a problemas de seguridad imprevistos. Los valores utilizados para construir ...
El uso de una variable de iteración en una expresión de consulta puede producir resultados inesperados. En lugar de ello, ...
El uso de una variable de iteración en una expresión lambda puede producir resultados inesperados. En lugar de ello, cree ...