Tag: C#的

在.NET中阻止给定应用程序的多个实例?

在.NET中,防止多个应用程序同时运行的最佳方法是什么? 如果没有“最好”的技术,每个解决scheme都要考虑哪些问题?

我可以用什么预定义macros来检测叮当声?

我试图检测用于编译我的源代码的编译器。 我可以很容易地find预定义macros来检查MSVC或GCC(例如,请参阅http://predef.sourceforge.net/ ),但是我找不到任何macros来检查clang。 是否有人知道,如果clang定义了一个像__CLANG__这样的macros,以便知道当前正在编译我的代码?

使用Moq来模拟一个unit testing的asynchronous方法

我正在testing一个Web API调用的服务的方法。 如果我也在本地运行Web服务(位于解决scheme中的另一个项目中),使用正常的HttpClient可以正常工作。 但是,当我检查我的更改时,构build服务器将无法访问Web服务,因此testing将失败。 我已经为unit testingdevise了一个解决方法,创build一个IHttpClient接口并实现我在应用程序中使用的版本。 对于unit testing,我使用模拟的asynchronouspost方法完成一个模拟版本。 这是我遇到问题的地方。 我想为这个特定的testing返回一个OK的HttpStatusResult 。 对于另一个类似的testing,我将返回一个不好的结果。 testing将运行,但永远不会完成。 它挂在等待。 我是新来的asynchronous编程,委托,Moq本身,我一直在search和谷歌一段时间学习新的东西,但我似乎无法摆脱这个问题。 这是我想要testing的方法: public async Task<bool> QueueNotificationAsync(IHttpClient client, Email email) { // do stuff try { // The test hangs here, never returning HttpResponseMessage response = await client.PostAsync(uri, content); // more logic here } // more stuff } 这是我的unit testing方法: [TestMethod] public […]

返回void和返回一个Task有什么区别?

在查看各种C#asynchronousCTP示例时,我看到一些返回voidasynchronous函数,以及其他返回非通用Taskasynchronous函数。 我可以看到为什么在asynchronous操作完成时返回一个Task<MyType>对于将数据返回给调用者是有用的,但是我所看到的具有返回typesTask的函数永远不会返回任何数据。 为什么不回报void ?

如何从预处理器macros中识别平台/编译器?

我正在编写一个跨平台的代码,它应该在linux,windows,Mac OS上编译。 在windows上,我必须支持visual studio和mingw。 有一些平台特定的代码,我应该放在#ifdef .. #endif环境中。 例如,在这里我放置了win32特定的代码: #ifdef WIN32 #include <windows.h> #endif 但是,我如何识别Linux和Mac OS? 什么是定义名称(或其他)我应该使用?

在Flags枚举中迭代值?

如果我有一个variables持有一个标志枚举,我可以以某种方式遍历该特定variables中的位值? 或者我必须使用Enum.GetValues迭代整个枚举,并检查哪些设置?

为什么在C#中删除未使用的使用指令?

我想知道是否有任何理由(除了整理源代码)为什么开发人员使用Visual Studio 2008中的“删除未使用的使用”function?

ObjectiveC从string中parsing整数

我试图从数组中提取一个string(其中包含一个整数),然后将其用作一个函数中的int。 我想使用intValue将其转换为一个int。 这是我一直在尝试的代码。 NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"]; [_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]]; 我得到这个错误: 通过“loggedIn :::”的参数3使得来自整数的指针没有转换 怎么了?

在C ++中确定32位和64位

我正在寻找一种方法来可靠地确定C ++代码是否正在编译32位和64位。 我们已经提出了我们认为使用macros的合理解决scheme,但是很想知道人们是否可以考虑可能会失败的案例,或者是否有更好的方法来做到这一点。 请注意,我们正在尝试在跨平台的多编译器环境中执行此操作。 #if ((ULONG_MAX) == (UINT_MAX)) # define IS32BIT #else # define IS64BIT #endif #ifdef IS64BIT DoMy64BitOperation() #else DoMy32BitOperation() #endif 谢谢。

修剪string中的最后一个字符

我有一个string说 "Hello! world!" 我想做一个修剪或删除取出! closures世界但不是closures你好。