草庐IT

目标发行

全部标签

c# - 为什么在 C# 中需要分部方法?可以使用事件来实现相同的目标吗?

我正在阅读“ApressProLINQ:C#中的语言集成查询”这本书,我遇到了部分方法,但我真的不明白它们有什么需要。我觉得书上的例子(变化前后的属性)可以用事件来实现。那么有什么解释吗? 最佳答案 是的,您可以使用事件实现与使用分部方法类似的效果。分部方法实际上只是一种让代码生成者(主要是设计者)为非生成代码生成Hook的方法。事件可以填补这个角色。然而,部分方法相对于事件有一些优势如果没有实现,部分方法调用将完全从生成的IL中删除。这不能通过事件来完成。分部方法的设计是为了解决钩子(Hook)有1个提供者和1个消费者的问题。事件

c# - StoryBoard - 从代码隐藏设置目标名称

我在资源中有Storyboard在WindowClosing上我有下一个代码privatevoidNotifyWindow_Closing(objectsender,System.ComponentModel.CancelEventArgse){Storyboardfading=this.Resources["Fading"]asStoryboard;if(fading!=null&&!fadingCompleted){fading.Completed+=FadingStoryBoard_Completed;fading.Begin();e.Cancel=true;}}privatev

c# - 如何使用 AutoMapper 将目标对象映射到源对象中的子对象?

我有这样的源对象和目标对象:classProductWithCategories//Sourceclass{publicProductProduct{get;set;}//ProductisanEFentityclasspublicIEnumerableCategories{get;set;}}classProductViewModel//Destclass{publicintId{get;set;}//OtherpropertieswiththesamenameasProductclasspublicIEnumerableCategories{get;set;}}因此,我需要将sou

c# - 条件编译和框架目标

如果目标框架是较新的版本,我的项目的代码可能会在一些小地方得到显着改进。我希望能够更好地利用C#中的条件编译来根据需要切换它们。类似于:#ifNET40usingFooXX=Foo40;#elifNET35usingFooXX=Foo35;#elseNET20usingFooXX=Foo20;#endif这些符号中的任何一个都是免费的吗?我是否需要将这些符号作为项目配置的一部分注入(inject)?这似乎很容易做到,因为我会知道MSBuild的目标是哪个框架。/p:DefineConstants="NET40"人们如何处理这种情况?您要创建不同的配置吗?您是否通过命令行传递常量?

c# - 如何处理组小计,例如WPF DataGrid 中的目标行?

我正在实现一个WPFDataGrid,其中包含具有许多关键数据的项目。项目按项目类别分组。对于每个类别应该有:在每个关键指标列中显示该列所有行总和的行。不属于绑定(bind)到的数据源网格的目标行。目标行告诉每一列今年的目标是什么(例如要花多少钱)。这些行应该始终位于每个组的顶部(排序过滤)。我的第一个解决方案是将此数据放在组标题中。这不是一个好的解决方案,因为组标题不支持列。即它应该通过获取列宽来构建。这可以做到,但当用户想要重新排序和隐藏列时,它会变得复杂。DataGrid使用CollectionViewSource,因此它没有填充C#代码。基本上我正在扩展这个例子:http://

c# - 安装 Framework 4.5 时以 .NET Framework 4 为目标

我的计算机上安装了VS2010和VS2012,并安装了.NETFramework4.0,然后我将其升级到.NETFramework4.5。但是,我仍在开发需要在.NETFramework4.0上运行的应用程序。该项目表示它的目标是.NETFramework4(客户端配置文件),程序集甚至指向ReferencedAssemblies下的.NETFramework4.0文件夹。当我将这个应用程序移动到一台只有4.0的机器时,问题就来了,它不会启动并出现错误,直接的问题是WindowState={BindingWindowState}导致的异常,你可以'在4.0中不能,但在4.5中可以。我需

c# - 在 .NET Core 中设置自定义 <OutputPath>(停止添加框架目标)?

这个问题在这里已经有了答案:HowdoIset`OutputPath`inaVisualStudio2017project(new.csprojfileformat)withoutthetargetframeworkclutteringtheresolvedpath?(2个答案)关闭5年前。在传统的.NET应用程序中,可以设置自定义.csproj中的一个组件文件(或通过项目属性对话框)。例如的路径bin\$(Configuration)\$(Platform)结果bin\Debug\AnyCPU.我有独立于当前构建配置设置这些值的习惯(在它自己的ItemGroup中,连同Documen

c# - 项目 X 的​​目标是 '.NETStandard,Version=v1.6' 。它不能被以 '.NETFramework,Version=v4.6.1' 为目标的项目引用

我真的很想成为一个好公民...将我所有的类(class)复制到.net标准1.6库中。只是为了发现我的测试DLL不能使用它。我收到以下错误ProjectXtargets'.NETStandard,Version=v1.6'.Itcannotbereferencedbyaprojectthattargets'.NETFramework,Version=v4.6.1'.当然,当我检查.NetStandard(https://learn.microsoft.com/en-us/dotnet/articles/standard/library)时,它说1.6可以针对4.6.1。我尝试了4.6.

c# - 相同的源,具有不同资源的多个目标(Visual Studio .Net 2008)

一组软件产品的区别仅在于它们的资源字符串、二进制资源,以及它们的VisualStudio安装项目使用的字符串/图形/产品key。创建、组织和维护它们的最佳方式是什么?即所有产品本质上都包含由图形、字符串和其他资源数据定制的相同核心功能,以形成每个产品。假设您正在创建一组产品,如“银行家Excel”、“园丁Excel”、“CEOExcel”等。每个产品都具有相同的功能,但在名称、图形、帮助文件、包括模板等构建它们的环境是:vanillaWindows.Forms/VisualStudio2008/C#/.Net。理想的解决方案应该易于维护。例如如果我引入一个新的字符串/新的资源项目我没有

C#如何使用Regex.replace,将所有模式匹配替换为目标字符串

是的,我想搜索并替换所有出现的模式,并将它们替换为目标字符串。我正在尝试使用Regex.Replace(src,pattern,target),是否有像\g这样的标志可以放入模式以使其工作,或者什么? 最佳答案 没有\g或全局搜索的概念,因为.NETRegex类默认是全局的。换句话说,假设您已正确编写正则表达式,它应该可以正常工作。您可能想在RegexHero中对其进行测试然后一旦你让它工作,点击顶部的.NET按钮来获取带有正确转义字符串的代码。 关于C#如何使用Regex.replac