Use of IntPtr in managed code may indicate a potential security and reliability problem. All uses of IntPtr must be reviewed to determine whether use of a SafeHandle (or similar technology) is required in its place. Problems will occur if the IntPtr represents some native resource (memory, file handle, socket etc.) that managed code is considered to own. I.e. managed code is expected to in some way release the resource and failure to do so would cause resource leakage. In such scenarios security or reliability problems will also exist if multithreaded access is allowed to the IntPtr and a means of releasing the resource represented by the IntPtr. These problems involve recycling of the IntPtr value on resource release while simultaneous use of the resource is being made on another thread, leading to race conditions where one thread can read or write data associated with the wrong resource. For example, if your type stores an OS handle as an IntPtr and allows users to call both Close and any other method using that handle simultaneously (without some kind of synchronization), your code has a handle recycling problem, which causes data corruption and often a security vulnerability. SafeHandle (and its sibling class CriticalHandle) provide a mechanism for encapsulating a native handle to a resource so that such threading problems can be avoided (along with other issues such as the need to carefully control the lifetime of managed objects that contain a copy of the native handle over calls to native methods; ie, you can often remove calls to GC.KeepAlive). There are performance overheads implicit in using SafeHandle (and, to a lesser degree, CriticalHandle) which can often be mitigated through careful design.
Use Library Dependency Inputs : Specifies whether or not the inputs to the librarian tool are used rather than the library ...
Use Library Dependency Inputs|Specifies whether or not inputs (.obj's) that form the library outputs are automatically linked ...
Use of Deny or PermitOnly should be carefully reviewed. Use of Deny or PermitOnly should be carefully considered, as they ...
Use of imperative demands can lead to unforeseen security problems. The values used to construct a permission should not ...
Use of IntPtr in managed code may indicate a potential security and reliability problem. All uses of IntPtr must be reviewed ...
Use present and past tense for pre-events and post-events, instead of using 'Before' and 'After'. For example, use Closing ...
Use relative references so that macros are recorded with actions relative to the initial selected cell. For instance, if ...
Use Test Impact Analysis to identify the tests that you should run to verify code changes or to assess the risk of a code ...
Use the .NET runtime service. This switch is incompatible with some other switches; see the documentation on the /clr family ...