草庐IT

代码雨

全部标签

c# - 代码生成器或 T4 模板,它们真的是邪恶的吗?

我听说有人说不应该使用代码生成器和T4模板。这背后的逻辑是,如果您使用生成器生成代码,那么有一种更好、更有效的方法可以通过泛型和模板构建代码。虽然我有点同意上面的说法,但我还没有真正找到有效的方法来构建可以实例化自己的模板。换句话说,我永远做不到:returnnewT();此外,如果我想根据数据库值生成代码,我发现将Microsoft.SqlServer.Management.SMO与T4模板结合使用可以很好地生成大量代码,而无需复制/粘贴或使用resharper。我发现泛型的许多问题也是令我震惊的是有很多开发人员不理解它们。当我确实检查泛型的解决方案时,有时它会变得复杂,因为C#声明

c# - 如何用最小的 C# 代码将一个 Stream 复制到一个字节数组?

到目前为止,我数了12个LoC。你能把它变小吗?using(StreamfileStream=File.OpenRead(fileName)){using(BinaryReaderbinaryReader=newBinaryReader(fileStream)){using(MemoryStreammemoryStream=newMemoryStream()){byte[]buffer=newbyte[256];intcount;inttotalBytes=0;while((count=binaryReader.Read(buffer,0,256))>0){memoryStream.W

c# - 在代码中从 .rdlc 导出 PDF 时,如何提高 LocalReport.Render 方法的性能?

我想在代码级别呈现大型非图形报告(数千页),从.rdlc文件中省略只会阻塞浏览器的ReportViewer控件。当我测试呈现一个大约2000页的报告时,Microsoft.Reporting.WebForms.LocalReport.Render方法需要大约半小时才能完成,这被认为是糟糕的用户体验。是否有任何技巧或替代解决方案来提高渲染性能:在代码中,重新设计.rdlc文件,或在其他地方,例如,只是增加硬件?示例代码:LocalReportlocalReport=newLocalReport();localReport.ReportPath=Server.MapPath("~/repo

c# - 向客户端发送 ICalendar 事件,同时继续运行您的代码

我使用DDay.iCal构建了一个基本的日历事件,当我单击“添加到日历”链接时,我生成了一个事件,然后将其发送给客户端。基本上,我的应用程序是这样工作的。用户登录。选择一个特定的日期。预订特定时间段点击“添加到日历”链接发送事件是通过使用Response.Write()完成的,它将以下内容发送到客户端:Response.ContentType="text/calendar";Response.AddHeader("Content-disposition","attachment;filename=appointment.ics");Response.Write(iCalString);

c# - 代码契约(Contract),forall 和自定义可枚举

我正在使用C#4.0和代码契约,并且我有自己的自定义GameRoomCollection:IEnumerable.我想确保没有GameRoomCollection的实例将永远包含null值元素。不过,我似乎无法做到这一点。我没有制定一般规则,而是尝试做一个简单明了的例子。AllGameRooms是GameRoomCollection的实例.privatevoidSetupListeners(GameRoomnewGameRoom){Contract.Requires(newGameRoom!=null);//...}privatevoidSetupListeners(Modelmode

c# - 为什么附加调试器后即时编译的 C# 代码无法运行?

我有以下面向.NET4.0的C#项目,它获取源代码文件,将其编译成一个程序集,然后执行该程序集中包含的一种类型的静态方法。只要我不在附加调试器的情况下启动程序,这就会按预期工作。在那种情况下,我在调用xmlSerializer.Serialize(sw,family);时遇到异常,更准确地说是System.NullReferenceException在System.TypeInitializationException里面在System.InvalidOperationException里面.如果我采用相同的程序,将源代码文件包含在项目中并直接编译到主程序汇编中,则无论是否附加调试器都

c# - Entity Framework 核心代码优先 : Cascade delete on a many-to-many relationship

我正在使用Entity-FrameworkCore(版本"EntityFramework.Core":"7.0.0-rc1-final")开发一个ASP.NETMVC6项目,该项目由SQLServer2012ExpressDB支持。我需要为Person之间的多对多关系建模实体和Address实体。根据this指南我用PersonAddress建模了它连接表实体,因为这样我可以存储一些额外的信息。我的目标是以这种方式设置我的系统:如果Person实例被删除,所有相关PersonAddress必须删除实例。所有Address他们引用的实例也必须删除,前提是它们与其他实例无关PersonAd

c# - 哪些特定状态代码会导致 HttpWebRequest.GetResponse() 抛出 WebException?

我四处寻找关于此的一些权威文档,但没有找到任何运气。对于哪些HTTP响应状态代码,HttpWebRequest.GetResponse()会在执行类似POST的操作后生成WebException?具体来说,它会为状态200OK以外的任何内容生成WebException吗?或者它只会为400、404和500生成WebException(为了论证)?我想知道,因为我正在与之通信的服务器定义了除HTTP200OK以外的任何内容作为错误条件返回。我可以依赖为200以外的任何内容生成的WebException吗?我目前编写的代码每次都检查返回状态代码并确保它是200OK。如果不是,它会采取适当的

c# - 将代码类中的数据提供给 VS 2013 中的 Reporting Services 设计器

我正在尝试创建一个本地SQLServerReportingServices报告(.rdlc文件)并将此报告连接到我在代码中生成的一些数据集(没有直接的SQLServer连接)。我创建了一个ReportDataProvider带有一些返回IList的实例方法的类对于各种标准集-但我似乎无法找到一种方法来使这些数据提供方法显示在VisualStudio2013内的ReportingServices设计器中。当我查看单击AddDataSet后出现的对话框时在Datasets上ReportData中的节点资源管理器窗口,我看到那里列出了大量我的类-但没有我的数据提供者类。有什么我需要注意的特别

c# - "Predefined type ' System.* ' is not defined or imported"错误,visual studio 代码,omnisharp

我在几个.net核心应用程序中遇到上述错误的问题。我正在使用vscode版本1.18.0,但错误已经开始出现在以前的版本中。错误出现在每个.cs文件中的每种数据类型(如字符串、整数、void等)以及类导入。所有项目仍然可以正常编译和运行。同样在另一个工作站上,我没有在同一个项目中遇到问题,所以它似乎是本地omnisharp/vscode或windows?问题。有没有人遇到过类似的问题并设法修复它或对我可以尝试的方法有任何建议?我已经重新安装了vscode和omnisharp,但我仍然遇到问题。示例错误:未定义或导入预定义类型“System.Object”[GG]