Tag: C#的

C#命名约定的首字母缩略词

关于C#命名缩略词,如果我正在编写一个与Windows API有关的库,那么对于WindowsApi或WindowsAPI是否有强大的约定,还是仅仅是个人偏好?

属性私人设置;

我知道它只允许class级设置,但是有什么意义呢? 如何解决只读id的问题? 说我有一个人课: public class Person { public string Name { get; set; } public int Id { get; private set; } public int Age { get; set; } } 这是在一个Entities.dll ,由GUI,BL和DAL使用。 GUI调用BL: List<Person> p = BL.PeopleBL.GetPeople(); 为了举例说明DAL: … while(dr.read()) { returnPersonList.add( new Person{ Age=dr.GetInt32(1), Id=dr.GetInt32(0), Name=dr.GetString(2)}) } … 当然我不能这样做因为Id是一个私人的集合; 什么是正确的方法来做到这一点? 我怎么能让BL / Dal设置ID,但不是在GUI上? 或者这是不是正确使用私人设置? […]

File.OpenWrite附加而不是擦除内容?

我正在使用以下来写入一个文件: using(Stream FileStream = File.OpenWrite(FileName)) FileStream.Write(Contents, 0, Contents.Length); 我注意到,它只是简单地写入文件文件,但没有先擦除文件的内容。 然后我决定简单地使用: File.WriteAllBytes(FileName, Contents); 这工作得很好。 但是,为什么File.OpenWrite自动删除文件的内容,因为我用它们的OpenWrite风格函数做的其他语言,而不是附加? 有没有办法做到这一点?

由UpdatePanel中的GridView内部的LinkBut​​ton触发完全回发

我有一个UpdatePanel里面的GridView。 在模板字段中是用于标记项目的button。 在function上,这工作正常,但button总是触发一个完整的页面回发,而不是部分回发。 我如何获得button来触发部分回发? <asp:ScriptManager ID="ContentScriptManager" runat="server" /> <asp:UpdatePanel ID="ContentUpdatePanel" runat="server" ChildrenAsTriggers="true"> <ContentTemplate> <asp:GridView ID="OrderGrid" runat="server" AllowPaging="false" AllowSorting="false" AutoGenerateColumns="false"> <Columns> <asp:TemplateField HeaderText=""> <ItemTemplate> <asp:LinkButton ID="MarkAsCompleteButton" runat="server" Text="MarkAsComplete" CommandName="MarkAsComplete" CommandArgument='<%# Eval("Id") %>' /> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="Name" HeaderText="Name" /> <asp:BoundField DataField="LoadDate" HeaderText="Load Date" /> <asp:BoundField DataField="EmployeeCutOffDate" HeaderText="Cut Off Date" /> <asp:BoundField DataField="IsComplete" HeaderText="Is Completed" /> </Columns> […]

如何更新C#中List <>中的对象

我有一个List<>的自定义对象。 我需要通过一些独特的属性在这个列表中find一个对象,并更新这个对象的另一个属性。 什么是最快的方法呢?

如何从一个类创build一个XSD架构?

我很难与XSD文件。 我试图从一个类创build一个XSD文件: public enum Levels { Easy, Medium, Hard } public sealed class Configuration { public string Name { get;set; } public Levels Level { get; set; } public ConfigurationSpec { get;set;} } public abstract class ConfigurationSpec { } public class ConfigurationSpec1 { // … } public class ConfigurationSpec2 { // … } 请注意,我在configuration中有一个抽象类。 有了这个function,是否有可能创buildXSD,如果可能的话呢? […]

无法findVisual Studio 2013错误MS8020构build工具v140

我以前一直在使用VS2013 express没有问题,但突然它开始崩溃,每当我尝试编辑代码,而它运行现有的代码罚款。 我尝试卸载并切换到VS2015,但它也崩溃,并与我的一些代码不兼容。 所以我卸载了VS2015并重新安装了VS2013。 新的问题是每当我尝试build立一个解决scheme,它会给出错误“MS8020”。 完整的错误信息如下所示 错误1错误MSB8020:无法find用于v140(平台工具集='v140')的构build工具。 要构build使用v140构build工具,请安装v140构build工具。 或者,可以通过select“项目”菜单或右键单击解决scheme,然后select“升级解决scheme…”来升级到当前的Visual Studio工具。 C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V120 \ Microsoft.Cpp.Platform.targets 64 5 Bevan

使用Linq to SQL确定行是否存在的最快方法是什么?

我对一行的内容不感兴趣,我只想知道是否存在一行。 Name列是主键,因此将有0或1匹配的行。 目前,我正在使用: if ((from u in dc.Users where u.Name == name select u).Count() > 0) // row exists else // row doesn't exist 虽然上面的工作,它通过select行的所有内容(如果存在)做了很多不必要的工作。 以下是否创build了一个更快的查询: if (dc.Users.Where(u => u.Name == name).Any()) …还是有更快的查询?

测量一个string,而不使用graphics对象?

我使用像素作为我的字体的单位。 在一个地方,我正在执行一个命中testing,以检查用户是否在屏幕上某些文本的边界矩形内单击了。 我需要使用像MeasureString这样的东西。 不幸的是,执行命中testing的代码深藏在一个无法访问Graphics对象甚至Control 。 如何获得给定字体的string的边界框而不使用Graphics类? 为什么我甚至需要一个Graphics对象,当我的字体是像素?

为什么大多数C#程序中的主要方法入口点是静态的?

为什么大多数C#程序中的主要方法入口点是静态的?