Tag: C#的

新(std :: nothrow)与try / catch块中的New

我在学习new之后做了一些研究,与我习惯的malloc()不一样,不会因为失败的分配而返回NULL,并且发现有两种不同的方法来检查new是否成功。 这两种方法是: try { ptr = new int[1024]; } catch(std::bad_alloc& exc) { assert(); }; 和 ptr = new (std::nothrow) int[1024]; if(ptr == NULL) assert(); 我相信这两种方式能达到同样的目的(如果我错了,就纠正我),所以我的问题是: 这是检查new成功的更好select,完全基于可读性,可维护性和性能,而忽视事实上的c ++编程约定。

malloc如何理解alignment?

从这里摘录 pw = (widget *)malloc(sizeof(widget)); 分配原始存储。 实际上,malloc调用分配的存储空间足够大,并且适合于保存types小部件的对象 他还说,从草药口服中可以看到快速的药物 ,他说: alignment 。 任何内存alignment。 任何通过new或mallocdynamic分配的内存都可以保证为任何types的对象正确alignment ,但是dynamic分配的缓冲区没有这种保证 我对此很好奇,malloc如何知道自定义types的alignment方式?

什么是声明和声明,它们的types是如何被标准解释的?

例如float (*(*(&e)[10])())[5]声明一个types为“指向10的指针的数组的指针”的variables返回指向数组的指针5 float “? 受@DanNissenbaum的讨论启发

如何在服务器端获取signalR客户端的连接ID?

我需要获取客户端的连接ID。 我知道你可以使用$.connection.hub.id从客户端获得它。 我需要的是在networking服务中进入,我有哪些更新logging在数据库中,反过来在网页上显示更新。 我是新的signalR和计算器,所以任何意见,将不胜感激。 在我的客户网页上,我有这样的: <script type="text/javascript"> $(function () { // Declare a proxy to reference the hub. var notify = $.connection.notificationHub; // Create a function that the hub can call to broadcast messages. notify.client.broadcastMessage = function (message) { var encodedMsg = $('<div />').text(message).html();// Html encode display message. $('#notificationMessageDisplay').append(encodedMsg);// Add the message to the page. […]

重新加载configuration,而无需使用ConfigurationManager.RefreshSection重新启动应用程序

有没有人得到这个Web应用程序的工作? 无论我做什么,似乎我的appSettings部分(从web.configredirect使用appSettings文件=“。\ Site \ site.config”)不会重新加载。 我注定不得不重新启动应用程序的情况吗? 我希望这种方法能让我成为一个更高性能的解决scheme。 更新: 通过“重新加载”我的意思是刷新ConfigurationManager.AppSettings,而不必完全重新启动我的ASP.NET应用程序,并不得不承担通常的启动延迟。

如何链接使用GCC没有-l也没有硬编码path不符合libNAME.so命名约定的库?

我有一个共享库,我希望链接使用GCC的可执行文件。 共享库的名称不是libNAME.soforms,所以我不能使用通常的-l选项。 (它恰巧也是一个Python扩展,所以没有'lib'前缀。) 我能够将path传递到库文件直接到链接命令行,但这会导致库path被硬编码到可执行文件中。 例如: g++ -o build/bin/myapp build/bin/_mylib.so 有没有办法链接到这个库,而不会导致path硬编码到可执行文件?

ASP.NET MVC中ModelState.AddModelError的关键参数是什么?

如果validation失败,我喜欢在我的控制器中编写validation函数来修改ModelState 。 例如: private bool ValidateMoney(string raw, string name, decimal min, decimal max) { try { var dec = Convert.ToDecimal(raw); if (dec < min) { throw new ArgumentOutOfRangeException(name + " must be >= " + min); } else if (dec > max) { throw new ArgumentOutOfRangeException(name + " must be <= " + max); } […]

如何命名通用类的C#源文件

我试图坚持一般的命名约定,如“开发类库的devise指南”中所述。 我将每种types都放到它自己的源文件中(部分类将按照部分类文件的命名规则中的描述,被分割成几个文件),使用types的名称作为文件名。 例子: namespace Demo.Bla // project { enum FlowDirection { } // in file FlowDirection.cs class LayoutManager { } // in file LayoutManager.cs } namespace Demo.Bla.LayoutControllers // folder LayoutControllers in project { class StackPanelLayoutController { } // in file LayoutControllers/StackPanelLayoutController } 但我不确定我是否想出了一个巧妙的方法来命名包含generics类的源文件。 说我有下面的课,例如: namespace Demo.Bla.Collections // folder Collections { class Map<T> { } // […]

什么是C#“is”关键字的VB.NET等价物?

我需要检查一个给定的对象是否实现了一个接口。 在C#中,我会简单地说: if (x is IFoo) { } 是使用TryCast() ,然后检查Nothing最好的办法?

为什么要使用Repository Pattern或者请给我解释一下?

我正在学习知识库模式,正在阅读知识库模式与entity framework4.1和代码优先和通用知识库模式 – entity framework,ASP.NET MVC和unit testing三angular关于他们如何实施存储库模式与entity framework。 话 •从上层隐藏EF •使代码更好地testing 使代码更好testing我明白,但为什么从上层隐藏EF? 看看它们的实现,似乎只是用entity framework的一般方法来包装entity framework。 其实这是什么原因呢? 我假设是 松耦合(这就是为什么从上层隐藏EF)? 避免重复为相同的查询写同样的LINQ语句 我的理解是否正确? 如果我写一个DataAccessLayer是一个类有方法 QueryFooObject(int id) { ..//query foo from entity framework } AddFooObject(Foo obj) { .. //add foo to entity framework } …… QueryBarObject(int id) { .. } AddBarObject(Bar obj) { … } 这也是一个存储库模式? 假人的解释将是伟大的:)