我正在使用 Visual Studio 2010 和 ReSharper 5。
我将其定义在一个 .cs 文件的顶部。
#if X86
using size_t = System.Int32;
#else
using size_t = System.Int64;
#endif
我可以使用 size_t,并且知道它是本机整数,如果编译为 32 位程序集,则为 32 位,如果编译为 64 位程序集,则为 64 位。(对于那些好奇的人,替代方案是始终使用 Int64,或在运行时根据 IntPtr.Size == 4 进行分支,并拥有两个版本的代码。我更喜欢这种解决方案。)
然而,如果我键入 size_t 并按下空格,它会自动转换为 Int64(如果定义了 X86,则为 Int32)。显然这是不可取的。
我进入 ReSharper 选项,然后到 Environment \ Intellisence \ Completion behavior 并禁用“Automatically complete single item with:”下的所有复选框。
但仍然发生这种情况,还有其他什么可以尝试吗?