Tag: C#的

c ++ 17中的非types模板参数可以是decltype(auto)吗?

我发现gcc和clang允许在非types的模板参数types子句中使用decltype(auto) 。 例如: template <decltype(auto)> struct X {}; int foo ; int main() { X<(foo)> x; static_cast<void>(x); } [现场演示gcc] [现场演示铿锵] 它是标准兼容的function,还是一些GNU扩展?

Eclipse的C#插件

在Eclipse中有没有一个好的工作插件? 我正在使用Linux机器,因此我无法访问Visual Studio Express。 我已经有了一个Eclipse环境,可以完美地满足我的需求,所以如果可能的话,我不想处理多个IDE。 它不需要代码完整,但突出显示和编译会很好。

存储库和数据映射器模式

经过大量的关于Repository和Data Mapper的阅读之后,我决定在一个testing项目中实现这些模式。 由于我是新手,所以我想就如何在一个简单的项目中实现这些观点获得您的观点。 杰里米·米勒说: 做一些不重要的个人编码项目,你可以自由地尝试devise模式。 但是我不知道我做的所有事情是否正确。 这是我的项目结构: 正如你可以看到有很多文件夹,我将在下面详细描述它们。 域:项目域实体去这里我有一个简单的Personnel类inheritance自EntityBase类,EntityBase类有一个名为Id的单一属性。 public int Id { get; set; } Infrustructure:这是一个简单的数据访问层,有两个类。 SqlDataLayer是一个从名为DataLayer的抽象类inheritance的简单类。 在这里我提供了一些如下代码的function: public SQLDataLayer() { const string connString = "ConnectionString goes here"; _connection = new SqlConnection(connString); _command = _connection.CreateCommand(); } 给参数集合添加参数: public override void AddParameter(string key, string value) { var parameter = _command.CreateParameter(); parameter.Value = value; parameter.ParameterName = […]

nm:“U”符号未定义

当我在我的一个库中nm: nm libmylib.so 我得到这样的一条线 U _ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 我检查了nm的手册页,我得到了“U”符号是未定义的。 未定义的符号究竟意味着什么? 如果它真的没有定义,那nm为什么要报告呢?

不包括Doxygen的目录

我想Doxygen忽略,绕过,而不是search我的项目的以下目录: */.svn/* */docs/* */Properties/* */bin/* 根据Doxygen常见问题 : How can I exclude all test directories from my directory tree? Simply put an exclude pattern like this in the configuration file: EXCLUDE_PATTERNS = */test/* 所以,我的Doxygen文件看起来像这样: # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more […]

在C11之后有没有计划未来的C标准?

我在开放标准的网站上search,特别是C工作组的主页,但只search了关于C11的信息。 他们似乎有定期的会议,讨论不同的function和扩展,但他们从来没有提到未来的C标准或路线图。 很难判断他们是在制定一个新的标准还是仅仅是对现行标准的技术勘误 。

为什么楠(不是数字)只能用于双打?

我有一个业务类,包含两个可为空的十进制属性。 第三个属性返回乘以另外两个属性的结果。 如果HasValue对于两个可为空的types是真的,那么我乘并返回结果。 如果其中一个或两个属性为空,我有几个返回值的选项: 返回0 抛出exception 返回一个幻数(-1) 返回小数? (编辑 – 见评论) 我认为我的select之一是返回NaN,但我看到这只适用于双重types。 为什么是这样? 为了logging,在这种情况下返回0是最有意义的,这是我打算做的,除非有人有更好的build议。

什么是一个好的,如果有的话,.NET Windows自动化库?

我正在寻找一个可以在本地.NET代码中使用的库,就像任何.NET程序集一样。 库的目的必须是使Windows自动化(按下button,select窗口,发送按键,录制和回放等等)。 所以:图书馆本来应该在.NET中使用,但是自动化本身必须能够定位任何可以接收用户input的本机或.NET Windows应用程序。 迄今为止的build议: benPearcebuild议AutoIt 。 它有一个DLL,它是本地的Win32,但不是本地.NET,不能使用.NET Interop。 Chris Dunawaybuild议全球鼠标键盘库 。 这是最接近的,但不是一个自动化库。 它只是帮助设置键盘和鼠标钩子。 pm100build议微软的WPF UI自动化 。 这一个是相当不错的,虽然它不是可用的,如果你在.NET 2.0中开发,它需要在系统上安装WPF。 但是,它可以在浏览器中自动执行从Win32应用程序到HTML的所有function。 JasonTrue从ArtOfTestbuild议WebAI 。 这是一个主要面向浏览器和Web应用程序的testing框架。 不幸的是,它不适合用于Windows自动化。 如果没有其他可用的东西,我可能会select微软的UI自动化,如果可能的话,升级任何需要.NET 2.0到.NET 3.5的项目。 但我希望有一个更广泛适用的自动化框架(2.0以前的.NET不需要支持)。

为什么不总是调用值types的构造函数

我有一个值types的types构造函数的问题。 这个问题的启发是杰弗里·里希特(Jeffrey Richter)通过C#第3版在CLR中写的东西,他说(在第195页 – 第8章)你永远不应该在值types中实际定义一个types构造函数,因为有时候CLR不会调用它。 所以,例如(实际上是Jeffrey Richters的例子),即使通过查看IL,我也无法解决这个问题,为什么在下面的代码中没有调用types构造函数: internal struct SomeValType { static SomeValType() { Console.WriteLine("This never gets displayed"); } public Int32 _x; } public sealed class Program { static void Main(string[] args) { SomeValType[] a = new SomeValType[10]; a[0]._x = 123; Console.WriteLine(a[0]._x); //Displays 123 } } 所以,为types构造函数应用下面的规则,我不明白为什么上面的值types构造函数根本不被调用。 我可以定义一个静态值types的构造函数来设置types的初始状态。 一个types只能有一个构造函数 – 没有默认构造函数。 types构造函数是隐式私有的 JIT编译器检查这个AppDomain中是否已经执行了types的types构造函数。 如果不是,则会将调用发送到本地代码,否则不会按照它知道该types已被“初始化”。 所以…我只是不能解决为什么我看不到这种types的数组正在构build。 […]

控制器在单独的组装和路由

在相同的解决scheme中,有一个ASP.NET MVC4应用程序Slick.App和类库Awesome.Mvc.Lib 。 Awesome.Mvc.Lib包含一个控制器类。 public class ShinnyController : Controller { [HttpGet] public string Index() { return "Hello, from Awesome.Mvc.Lib"; } } 如果我只是将Slick.App的引用添加到Awesome.Mvc.Lib,运行应用程序并将浏览器指向/shinny shinny,实际上我会看到响应“Hello,from Awesome.Mvc.Lib”。 这是我所不希望的。 我一直认为ASP.NET MVC尊重控制器所在的命名空间。所以,来自其他命名空间的控制器不会暴露,至less在我没有要求之前。 我试图改变默认的路由注册,使用namespaces参数。 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, namespaces: new [] { "Slick.App.Controllers" } ); 不过,ShinnyController路线仍然匹配'/ shinny'。 […]