草庐IT

USE_COMPUTED_SIZE

全部标签

c# - 如何将代码标记为 "not for future use"

我经常遇到这样的情况,我想劝阻其他开发人员不要继续使用某个方法或类。例如,假设我有两个库方法“A”和“B”,其中“A”是执行某些任务的“旧”方式,而“B”是执行该任务的"new"方式。在许多情况下,A和B有足够的不同,使得使用A开始使用B的重构代码非常重要(例如,需要流过额外的状态)。由于A在使用它的情况下有效,我不想优先考虑重构。但是,我确实想给我的开发人员一个直观的指示,表明A不会在新代码中使用。因此,我希望您在使用ObsoleteAttribute引用成员时得到删除线。没有相关的编译器警告/错误(因为打开它会从A的所有旧用法中发出数百个错误,我们不打算很快解决这些错误)。这样,如

c# - 枚举器实现 : Use struct or class?

我注意到List将其枚举器定义为struct,而ArrayList将其枚举器定义为class.有什么不同?如果我要为我的类(class)写一个枚举器,哪个更好?编辑:使用yield无法满足我的要求,所以我正在实现自己的枚举器。也就是说,我想知道遵循List的路线是否会更好。并将其作为结构实现。 最佳答案 像其他人一样,我会选择一个类(class)。可变结构是讨厌的。(正如Jared所建议的那样,我会使用迭代器block。手动编写枚举器代码很费力才能正确。)参见thisthread例如,列表枚举器是一个导致问题的可变结构......

c# - 代理设置设置为 "Use automatic configuration script"的 WCF 客户端

我目前正在开发一个需要与Internet上的Web服务通信的应用程序。InternetExplorer是迄今为止唯一通过代理服务器连接到Internet的应用程序。代理设置设置为“使用自动配置脚本”。我保留了默认设置另外设置但运气不好。我不断收到“(407)需要代理身份验证。”我已经进行了一些Google搜索,但解决方案似乎不适合我的情况。简短更新:该应用程序应使用默认用户凭据运行,并使用这些凭据通过NTLM向代理进行身份验证。但即使我将客户端设置为这样做,它似乎也无济于事。 最佳答案 保留设置,并确保useDefaultCrede

c# - "Data Source cannot be empty. Use :memory: to open an in-memory database"是什么意思?

我最近将我的SQLServer数据库转换为SQLite数据库。但是当我尝试使用.Open()打开我的SQLite时,它​​抛出了这个错误:DataSourcecannotbeempty.Use:memory:toopenanin-memorydatabase编辑:添加连接字符串:ConnectionString=@"DataSource=D:\XXX.db;Version=3";connection=newSQLiteConnection(connectionString);connection.Open();为什么我会得到这个?我将相同的SQLServer数据库转换为SQLCE和my

c++-cli - C++/CLI-问题: Is there an equivalent to the C# "is" keyword or do I have to use reflection?

我在MSDN的某个地方读到过,与C#的“is”关键字等效的是dynamic_cast,但这并不完全等效:它不适用于值类型或泛型参数。例如在C#中我可以写:voidMyGenericFunction(){objectx=...if(xisT)...;}如果我尝试“等效的”C++/CLI:genericvoidMyGenericFunction(){objectx=...if(dynamic_cast(x))...;}我收到编译器错误“errorC2682:cannotuse'dynamic_cast'toconvertfrom'System::Object^'to'T'”。我唯一能想到的

c# - "Collection was of a fixed size"带有 POCO 的 EF4 异常

我将EF4与WCF和POCO结合使用。我删除了POCO实体中的所有虚拟关键字。我有Employee和Team实体,两者之间的关系是1:N,意味着一名员工只能分配到一个团队。我想在现有团队中添加新员工。以下代码在客户端。privatevoidbtnAdd_Click(objectsender,RoutedEventArgse){TeamteamFromDb=ServiceProxy.GetService.GetTeamById(181);EmployeenewEmp=newEmployee{UserName="username"};newEmp.Team=teamFromDb;Servi

c# - 隐式类型数组 : why we can't set array size explicitly?

C#语言规范(7.6.10.4)说,数组创建表达式有树种:newnon-array-type[expression-list]rank-specifiersoptarray-initializeroptnewarray-typearray-initializernewrank-specifierarray-initializer第三个用于隐式类型数组:varfoo=new[]{1,2,3};问题:在隐式类型数组的情况下,是否有任何重要的理由禁止显式设置数组大小?与这种语法相比,它看起来像是不对称行为:varfoo=newint[3]{1,2,3};更新。稍微澄清一下。我可以看到,显式设

c# - Entity Framework : When to use Set<>

我正在尝试了解EntityFramework的基础知识,但我对DbContext上的Set方法有疑问。我正在为以下问题使用数据库优先模型。假设我有一个ActivityLog数据库,我可以使用它来提取消息(例如NLog消息)。我可以编写一些代码来提取所有消息,如下所示:using(varentities=newActivityLogEntities())foreach(varloginentities.AcitivityLogs)Console.WriteLine(log.Message);但是我也可以这样做:using(varentities=newActivityLogEntitie

c# - ASP.NET MVC3 : Force controller to use date format dd/mm/yyyy

基本上,我的日期选择器使用英国格式的dd/mm/yyyy。但是当我提交表单时,ASP.net显然使用的是美国格式。(小于12只接受天数,即认为是月份。)publicActionResultTimeTable(DateTimeViewDate)有没有办法强制它识别某种方式?奇怪的是,其他插入方法似乎能识别正确的格式。“对于方法System.Web.Mvc.ActionResultIndex(Mysite.Controllers.RoomBookingsController中的System.DateTime)。可选参数必须是引用类型、可为null的类型,或者声明为可选参数。"

c# - 串口通信错误, "The requested resource is in use."

这是从串口读取数据的代码。为了简单起见,让我们通过单击按钮来完成;privateSystem.IO.Ports.SerialPortserialPort;privatevoidbutton1_Click(objectsender,EventArgse){if(serialPort==null)serialPort=newSerialPort("COM7",4800,Parity.None,8,StopBits.One);//COM7ishardcodedjustforthesakeofexampleif(!serialPort.IsOpen)serialPort.Open();text