Tag: C#的

“这个expression式导致副作用,不会被评估”。 如何压制?

我在收件箱里收到这个消息。 其实,我的表情没有任何副作用,每次都需要自动重新评估。 我怎样才能做到这一点?

WCF Web API和ASP.NET Web API有什么区别?

我在过去使用WCF WebAPI做了一些工作,并且非常喜欢它的许多特性,现在我只是在使用ASP.NET Web API,看起来完全不同(IE完全从WCF中删除了)。 有谁知道WCF WebAPI的哪些function包含在ASP.NET 4 Web API中?

我应该使用默认的内部或公开的可见性?

我是一个非常新的C#和.Net开发人员。 我最近使用C#创build了一个MMCpipe理单元,并且很高兴能听到很多其他开发人员在我的组织中使用C ++来开发应用程序的恐怖故事。 在某些时候,我几乎完成了整个项目,并将“public”关键字的每个实例都设置为“internal”,除非运行时需要运行snapin。 你对此有什么感想,你们一般应该把class级和方法公开还是内部化?

在c#中创builddll文件

我如何在C#中创build一个dll文件?

为什么是一个大于unsigned int的负int?

int main(void) { unsigned int y = 10; int x = – 4; if (x > y) Printf("x is greater"); else Printf("y is greater"); getch(); return (0); } Output: x is greater 我认为输出将是更大,因为它是无符号的。 这背后的原因是什么?

什么是“使用命名空间标准”的使用?

什么是using namespace std的using namespace std ? 我想在外行看到解释。

如何确定一个对象是否是从GDB的一个指向基类的指针派生的C ++类的实例?

我正在用GDBdebugging一个C ++程序。 我有一个指向某个类的对象的指针。 指针被声明为一些超类,它被几个子类扩展。 在对象中没有字段来指定这个对象的精确类的types,但是一些虚函数(例如bool is_xxx())被定义为在运行时告诉类的types。 有没有一些方法可以在不调用这些虚函数的情况下告诉GDB中对象的精确类的types。 在GDB中调用这样的函数可能会在程序是multithreading时产生混乱的结果。

Moq用对象参数validation

我正在尝试validation是一个类的参数。 正在testing的代码是好的。 错误在testing中。 我试了两种方法,都失败了。 这是我的尝试: 1: this.MockImageResizeFilter.Verify(m => m.Filter(this.UploadedFileData, new ImageFilterOptions() { Width = 256, Height = 256, })); 这总是失败,即使作为第二个parameter passing的对象具有相同的属性。 第一个参数validation正确。 2: this.MockImageResizeFilter.Setup(m => m.Filter(It.IsAny<byte[]>(), It.IsAny<ImageFilterOptions>())) .Callback<byte[], ImageFilterOptions>((data, options) => { Assert.AreEqual(this.UploadedFileData, data, "data"); Assert.AreEqual(filterOptions.Width, options.Width, "Width"); Assert.AreEqual(filterOptions.Height, options.Height, "Height"); } ); 这总是通过,即使它会失败。 callback中的断言确实失败,但是exception不会传递给外部上下文,因此testing总是通过。 你能帮我find我做错了什么吗?

C + + 11:更正std ::数组初始化?

如果我初始化一个std ::数组如下,编译器给我一个关于缺less大括号的警告 std::array<int, 4> a = {1, 2, 3, 4}; 这解决了这个问题: std::array<int, 4> a = {{1, 2, 3, 4}}; 这是警告信息: missing braces around initializer for 'std::array<int, 4u>::value_type [4] {aka int [4]}' [-Wmissing-braces] 这只是我的gcc版本中的一个错误,还是故意完成的? 如果是这样,为什么?

C ++ 11清除shared_ptr时,我应该使用重置或设置为nullptr?

我有一个关于C ++ 11最佳实践的问题。 清除shared_ptr时,应该使用不带参数的reset()函数,还是应该将shared_ptr设置为nullptr ? 例如: std::shared_ptr<std::string> foo(new std::string("foo")); foo.reset(); foo = nullptr; 有没有真正的区别,还是有两个方法的优点/缺点?