Questions tagged «c#»

C#是Microsoft与.NET平台并行创建的一种多范式,托管的,垃圾回收的面向对象编程语言。

3
通用共享方法放在哪里
我有一堆方法到处都是。现在,该代码文件被命名为全局变量,以表示它们实际上是全局变量的事实。 但是,我不喜欢这样。 我想将它们分组为一个类并传递一个接口。我只会做一个实例,但我不会陷入这里的单例陷阱。 首先,我应该给班级命名。我想避免使用全域名称,因为恐怕维护人员会想到错误的主意。 另外,我应该如何考虑拆分这样的一组方法,以便行为可以改变和适应? 方法集包含以下内容: 转换表 剪贴板互动 管理内置字体 常用绘图方法 提供访问常用资源的界面
9 c# 

4
.NET(C#)中Web爬网的模式和实践
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我将整理一个应用程序以自动化外部网站/应用程序。在某些情况下,我需要像用户那样浏览网站(我需要关注的某些链接无法预测,因此必须从响应中进行解析) 我已经在使用Html Agility Pack了,如果需要的话,我也知道Tidy。 还有其他我应该注意的技术吗? 是否有建议的模式可以在外部Web应用程序发生更改时快速进行调整?我设想将响应的验证封装为某种类型的策略或类似的模式,可以根据需要轻松地将其分离/插入,但是任何特定的建议都很好。
9 c#  .net  html  web-scraping 

4
训练“替代品”,如何执行标准?
不确定这是问这个问题的正确堆栈交换站点,但是这里... 范围 我为一家拥有数百名员工的小公司工作。该公司的开发团队规模很小,使用的是Visual FoxPro。公司的一个特定部门雇用我担任“单枪手”,以修复和增强现有的发票系统。我已经成功地采用了遭受很多风险和限制的Access应用程序,并将其转换为从SQL Server后端驱动的C#应用​​程序。 我最近获得了本科学位,无论如何都不是专家。为了弥补这一点,我感到获得Microsoft认证将迫使我更多地了解.net及其功能。 因此,在提前9个月发出通知后,三个月前终于出现了替代产品。他们的职责是学习我一直在设计的内容,以支持C#设计的应用程序。 替代品 大学刚毕业时没有任何实际工作经验,涉及数据的任何事物的第一个直觉是,现在仍然是列表框...每当提及数据时,列表框都是替换的首选控件。无论我讨论其他控件多少次,这都已经到了重点,在单个表单上我已经看到了5个列表框。课堂经验几乎是所有C ++控制台开发。 因此,在Winforms应用程序中,我最关心的一个例子是:用户需要将理由键入表中以便以后选择。既然我知道存在一个强类型的数据集,就可以从工具箱中拖动数据源,它将为我创建所有这些。我意识到这是一个简单的示例,但是使用数据绑定是关键。 在过去的几个月中,我们一直在讨论强类型数据集,如何使用它以及在何处与其他控件进行交互。数据集,它们与绑定源,适配器和数据网格视图有关的工作方式。在完成该项目后,我期望有关如何实施这些项目的问题,因为对我而言,这是实现此目标的方法。接下来发生的事情使我感到震惊: 在表单的Activate事件中创建了来自强类型数据集的适配器实例,创建了一个表并填充了数据。然后,进行了循环以手动将行添加到该表的列表框中。最后,保留一个变量进行查找,以找出记录中需要更新的ID。 他们如何修改您要求的记录?这也是我的第一个问题。您不会相信它多么简单,只需双击它,它们就会在弹出窗口中键入提示,将新值更改为该值。作为数据输入操作员,所有模式弹出窗口都会使我发疯。最终的解决方案超过了必须维护的100行代码。 因此,我担心的是,这一切都不会陷入……该部门一周只允许工作20个小时。直到上周,如果幸运的话,我们每周只能得到4-5个小时的培训。在过去一周左右的时间里,我很幸运获得了10分。 题 我该怎么办?! 我还有4周的路程,直到我离开,他们完全“支持”该申请。我喜欢这份工作,也给我带来了机会,但现在该是我展翅高飞,寻找新事物的时候了。我绝不相信他们已准备好接管他们。 我确实认为替代产品具有“弄清楚它”的技术能力,但是与其学习,他们只是编写代码来手动完成所有这些工作。如果替代者最终想以不同的方式编写代码,只要它能正常工作,我就可以接受,因为看起来令人恐惧。但是,为了支持我的设计,他们必须了解它的工作原理以及如何使用控件和框架来实现“魔术”。 这个项目大约有40种形式,一个数据库有30多个奇数表,触发器和存储过程。它把劳动力与发票,合同与预测联系起来……这不像我三年前开始这个项目时那样简单,现在部门无法没有它就无法生存。 我该如何完成以下任何一项? 当部门经理不断告诉他们可以做到时,无论他们愿意做什么,都可以在不断设计中加强标准或理解 寻找一种方法来使替代者积极学习必须为以下方面提供支持的框架和系统设计: 优雅地告知sr。每周5-9个小时的管理人员根本没有足够的时间来了解部门,现有流程,需要支持的应用程序以及确定系统的潜在增强功能的去向... 是的,我知道这是一堵文字墙,感谢您对我的阅读,但我根本不知道该怎么做。对我来说,这份工作是一个引人注目的怪兽,如果我离开而事情分崩离析,事情将会变得非常糟糕。我该如何处理?

2
GUI,BLL,DAL组织在项目中
我正在阅读有关应用程序层的内容,并希望在我的下一个项目(C#、. Net)中使用此设计。一些问题: 是否通过名称空间完成层分离?Project.BLL。什么,Project.DAL。什么 按层然后按组件(Project.BLL.Component1)或按组件再按层(Project.Component1.BLL)分离是否更合适 对于我的DAL,是否使用不同的类进一步组织了这一层?如果所有数据库调用都放在一个类中,则没有组织。用不同的类或名称空间将它们拆分会更好吗? DAL类通常是静态的吗?在每次调用其方法之一之前实例化DAL对象似乎很麻烦。 用这些层以正确的方式处理事务的任何其他技巧将不胜感激。

5
在开发之前对现代应用程序建模的标准是什么?
我正在处理我的第一个企业级应用程序,我希望我的团队在提取代码之前就对整个ASP.NET MVC C#应用程序进行建模。 更新:这并不是要对何时记录/建模应用程序进行哲学上的讨论。请仅提供有关“如何”文档/模型的答案。 事实是,我一直在这个部门中工作过,而且从未真正建模过应用程序。这样做的标准方法是什么?应该使用哪种类型的图表以及文档外观如何?链接到示例图和文档表示赞赏。 在搜索时,我可以在网上找到很多东西,但是我想看看是否存在关于如何执行此操作的现代共识。 提前致谢! 结束语 我不知道这是一个棘手的话题。谢谢所有能够抛弃明显争议并提供有用答案的人。至少可以说这是一个有趣的讨论:) 我发现的另一个有用链接是:https : //stackoverflow.com/questions/61487/do-you-use-uml-in-agile-development-practices/61519#61519

12
C#的属性销售操作员
c#中的null-coalescing运算符使您可以缩短代码 if (_mywidget == null) return new Widget(); else return _mywidget; 向下: return _mywidget ?? new Widget(); 我一直发现,我想在C#中拥有一个有用的运算符,它将允许您返回对象的属性,或者如果对象为null则返回其他值。所以我想替换 if (_mywidget == null) return 5; else return _mywidget.Length; 带有: return _mywidget.Length ??! 5; 我不禁想到该操作符不存在一定的原因。它有代码味吗?有没有更好的方法可以写这个?(我知道空对象模式,但是用它来替换这四行代码似乎有点过分。)
9 c#  code-smell  null 


10
从C#切换到Java,我应该关注哪些“陷阱”?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 对于新项目,我可能不得不切换到Java。我对Java的了解很少,因为我主要研究和使用C#,而且我担心这两种语言/平台之间的差异可能会给我带来很多问题。 我应该关注哪些陷阱/陷阱?
9 java  c#  .net  pitfalls 

2
如何通过依赖注入避免UI中疯狂的接口数量?
问题 我最近阅读了很多有关Singletons不好以及依赖注入(我理解为“使用接口”)如何更好的知识。当我使用callbacks / interfaces / DI并遵循接口隔离原则来实现其中的一部分时,我最终陷入了混乱。 UI父级的依赖关系基本上是其所有子级的依赖关系的组合,因此,UI元素的层次结构越深,其构造函数就越肿。 在UI层次结构之上一直是一个Application类,其中包含有关当前选择的信息以及对需要反映更改的3d模型的引用。该应用程序类实现了8个接口,而这仅仅是即将推出的产品(/接口)的五分之一! 我目前正在处理持有当前选择的单例,并且UI元素具有自我更新的功能。该函数滴入UI树和UI元素,然后根据需要访问当前选择单例。这种代码对我来说似乎更干净。 问题 单身人士可能适合该项目吗? 如果没有,那么我的DI思维和/或实施过程中是否存在根本的缺陷,从而使其变得如此繁琐? 有关项目的其他信息 类型:带铃铛的公寓用购物篮 大小:代码和UI 维护2个工作月:没有正在运行的更新,但以后可能是“版本2.0” 环境:在Unity中使用C#(使用实体)组件系统 在几乎所有情况下,用户交互都会触发多个操作。例如,当用户选择一个项目时 显示该项目及其说明的UI部分需要更新。为此,它还需要从3D模型中获取一些信息才能计算价格。 在使用者介面的上方,总价格需要更新 为了显示那里的变化,需要调用3d模型上的类中的相应函数
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.