草庐IT

C++条件编译

全部标签

c# - 如果声明是接口(interface),编译器无法识别泛型中的属性

查看以下演示我的VisualStudio2017编译器问题的内容publicinterfaceIFoo{stringKey{get;set;}}publicclassFoo:IFoo{publicstringKey{get;set;}}classProgram{staticvoidMain(string[]args){PrintFoo(newFoo(){Key="HelloWorld"});Console.ReadLine();}privatestaticvoidPrintFoo(Tfoo)whereT:IFoo{//setbreakpointhereandtrytolookatfoo

C# REPL 工具;类似控制台的快速编译工具

我经常启动一个新的VisualStudio实例,只是为了创建一个具有一些输出和/或输入的控制台应用程序。这是我用来测试方法或其他东西的临时沙箱,几分钟后关闭。您能想到任何工具来替代它吗?我曾经有一个应用程序有两个文本字段:一个在顶部用于获取C#代码,另一个在底部用作标准输出。但是我记不起名字了。 最佳答案 看看LINQPad.它重量轻,功能丰富。非常适合短片段。SnippetCompiler是另一个不错的。在LINQPad之前,它曾经是我的主要选择。它的作者最近似乎没有积极更新它。这些是我在此处列出的建议中的两个主要建议:Areth

为 32/64 位或任何 cpu 益智游戏编译的 C#

这个问题与之前关于SO的问题有关AnyCPUquestion1和AnyCPUQuestion2我有一个最初使用VisualStudio2005在WinXP上构建的应用程序(别笑!)。此应用调用我们的win32C++dll。调用C++dll的C#组件是使用“任何CPU”配置构建的,并且可以在WinXP上愉快地工作,没有任何问题。我们现在正在迁移到Win7,并且我们应用程序的发布版本(基于WinXP和VC2005构建)运行良好。然而,随着向我们的用户推出win7,我们现在有机会迁移到VS2010,并且我已经使用VC2010在win7上构建了C#组件,但是现在运行这个版本时,我得到很多“无法

c# - lambda 表达式中的事件 - C# 编译器错误?

我正在考虑使用lamba表达式来允许以强类型方式连接事件,但中间有一个监听器,例如给定以下类(class)classProducer{publiceventEventHandlerMyEvent;}classConsumer{publicvoidMyHandler(objectsender,EventArgse){/*...*/}}classListener{publicstaticvoidWireUp(Expression>expr){/*...*/}}事件将被连接为:Listener.WireUp((p,c)=>p.MyEvent+=c.MyHandler);但是这会导致编译器错误

c# - LINQ to SQL - 如何高效地对多个条件执行 AND 或 OR 搜索

我有一个ASP.NETMVC站点(它使用LinqToSql作为ORM),并且客户想要一个针对定制数据库的搜索工具,他们可以选择进行“AND”搜索(所有条件匹配)或“或”搜索(任何条件匹配)。该查询非常复杂且冗长,我想知道是否有一种简单的方法可以使它同时执行这两项操作,而无需创建和维护两个不同版本的查询。例如,当前的“AND”搜索看起来像这样(但这是一个大大的简化版本):privateIQueryableGetSampleSearchQuery(SamplesCriteriacriteria){varresults=fromrinTablewhere(r.Id==criteria.Sam

c# - 是否可以有一个匿名类型的条件字段

我有一些代码看起来像这样,并从现有集合中创建一个列表varitems=items.ConvertAll(r=>new{description=FormatDescription(r),start=r.Milestone.HasValue?r.Milestone.Value.ToString("yyyy-MM-ddTHH:mm:ssZ"):DateTime.Today.ToString("yyyy-MM-ddTHH:mm:ssZ"),classname="significance"+r.SignificanceLevel,如您所见,如果我现在没有开始日期(r.Milestone),那么我

c# - ApplicationSettingsBase.Upgrade() 在使用 .NET 4.0 重新编译后不升级用户设置

我有一个使用标准ApplicationSettingsBase来保存其用户设置的C#程序。这在.NET3.5下运行良好。每当创建新版本的程序时,提供的Upgrade()方法都会正确地“重新加载”这些设置。最近,我用.NET4.0重新编译了程序。我的程序的版本号也增加了。但是,当我运行这个版本时,Upgrade()似乎没有检测到任何以前的版本设置,也没有“重新加载”它们。它开始是空白的。作为测试,我再次重新编译,回到.NET3.5。而这一次,Upgrade()方法又开始工作了。有没有办法让Upgrade()在切换框架时工作?还有什么我想念的吗? 最佳答案

c# - Entity Framework 4 中的简单条件 LINQ 查询

我最近将这段代码迁移到了EntityFramework4,但失败了。显然,如果status没有值,则返回所有匹配项,如果它有值匹配user.StatusID==1。returnusers.SingleOrDefault(user=>user.Username==username&&user.EncryptedPassword==password&&(!status.HasValue||user.StatusID==1));异常返回:ArgumentException:Thespecifiedvalueisnotaninstanceoftype'Edm.Int32'Parameterna

C# 编译器在没有错误消息的情况下崩溃

varxrr=__arglist(Convert.ToUInt32(1),Convert.ToUInt32(2),Convert.ToUInt32(3));上面的代码会使编译器在构建时崩溃。我希望编译器以有意义的错误消息停止,而不是尝试编译代码。它可能是编译器中的错误吗?如果没有,我该如何解决这个错误? 最佳答案 这不是编译器中的错误;编译器给出正确的错误信息。相反,这是VisualStudio编辑器语言服务中的错误,会导致VisualStudio崩溃。但是,你的代码无论如何都是非法的;__arglist(...)表达式只能用于调用

c# - 从已编译的 DLL 中获取所有 XAML 文件

我想在运行时从第三方库(DLL)加载外部XAML样式。喜欢thistutorial他们使用:Application.LoadComponent(newUri("/WpfSkinSample;component/Skins/"+name+".xaml",UriKind.Relative))asResourceDictionary;加载新样式。但我不知道来自第三方库的XAML名称,所以我正在寻找一种方法来获取它们并将它们加载到我的应用程序中。感谢您的帮助。编辑:感谢andyp,我做了以下工作:publicvoidLoadXaml(StringAssemblypath){varassembl