草庐IT

c# - 事件与可重写的方法?

关于什么时候应该使用可重写的方法(例如“OnMyEvent”)以及什么时候应该在C#中使用事件(例如“MyEvent”),任何人都可以给我提供一般指导吗?是否有任何通用设计原则可以定义要使用的内容? 最佳答案 这两个功能有些相似(都旨在执行某种形式的动态调度),但不能直接比较。事件是为了通知其他对象某个对象已经到达某种statetransition。.它是体现theObserverDesignPattern的语言特征.这在很多情况下都很有用,但并不总是有用或可取的。它是完成特定工作的工具。虚函数用于创建ObjectOrientedP

c# - 将属性的效果级联到子类中的重写属性

是否可以在基类中标记一个在子类中仍然有效的属性?问题可能非常针对序列化,但我绝对认为也可以有其他用途。考虑以下代码:usingSystem;usingSystem.IO;usingSystem.Xml.Serialization;namespaceCode.Without.IDE{[Serializable]publicabstractclassC1{[XmlIgnore]publicabstractboolIsValid_C1{get;set;}}[Serializable]publicclassC2:C1{publicboolIsValid_C2{get;set;}publicov

c# - 重写 ASP.NET 代码隐藏文件中的 Page 类构造函数——何时调用?

如果我覆盖System.Web.UI.Page构造函数,如图所示,DoSomething()在页面生命周期方面何时被调用?我似乎无法在任何地方找到这个记录。namespaceNameSpace1{publicpartialclassMyClass:System.Web.UI.Page{publicMyClass(){DoSomething();}protectedvoidPage_Load(objectsender,EventArgse){}}}作为引用,这里是ASP.NET页面生命周期概述:http://msdn.microsoft.com/en-us/library/ms17847

c# - 重写继承方法时避免显式类型转换

我有一个基础抽象类,它也实现了一个特定的接口(interface)。publicinterfaceIMovablewhereTEntity:classwhereT:struct{TEntityMove(IMovermoverProvider);}publicabstractclassAnimal:IMovable{...publicvirtualAnimalMove(IMovermoverProvider){//performsmovementusingprovidedmover}}然后我继承了一些类,其中一些类必须重写基类的接口(interface)实现方法。publicclassS

c# - 在引用类型上重写 Equals 是否应该始终意味着值相等?

在不对引用类型做任何特殊处理的情况下,Equals()将意味着引用相等(即相同的对象)。如果我选择覆盖Equals()对于引用类型,它是否总是意味着两个对象的值是等价的?考虑这个可变的Person类:classPerson{readonlyintId;stringFirstName{get;set;}stringLastName{get;set;}stringAddress{get;set;}//...}代表同一个人的两个对象将始终具有相同的Id,但其他字段可能会随着时间的推移而有所不同(即在地址更改之前/之后)。对于这个对象,Equals可以定义为不同的意思:值相等:所有字段都相等(

c# - 用于无损 Exif 重写的 .NET C# 库?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我找到了各种用于编辑的代码和库Exif.但只有当图片的宽高是16的倍数时,它们才是无损的。我正在寻找一个库(或者甚至是一种自己做的方法)来只编辑JPEG文件中的Exif部分(或者添加Exif数据,如果它尚不存在),而不修改其他数据。这不可能吗?到目前为止,我只能找到Exif部分(从0xFFE1开始),但我不明白如何读取数据。

c# - 我应该用 GTK+ 而不是 WinForms 为 Mono 重写 GUI 吗?

我正在使用VisualStudio、winforms制作应用程序,我正在使用openTK。最近我想让它跨平台。我将使用Mono,因为我不知道其他类似的东西。而且我完全没有使用GTK+的经验。在我的应用中,目前有4个窗口(当然以后会更多)。我想让应用程序在Windows、Linux和OSX上运行得更快。我读过,GTK+比WinForms好,但仍然不确定该选择哪个。那么,我应该为GTK+重新制作所有内容还是继续使用WinForms,为什么?另外,是否有任何工具可以为我完成这项工作? 最佳答案 老实说,您需要告诉我们更多关于您的受众/预期

c# - .Net MVC 中的 URL 重写

我想知道在MVC中处理URL的最佳方式是什么。例如,在我的应用程序中,我有一个PageController可以链接到/website/Page/Index/3或/website/Page/home。菜单是根据传入的url使用Html.ActionLink()和T4MVC动态构建的,因此我没有任何硬编码。现在我想做的是将我的url和链接指向对SEO更友好的内容,例如/website/our-company/并且它还可以有这样的子项/website/our-company/location/或/website/our-company/employees/。你明白了。我所有的页面都保存到BD

c# - 如何实现类似SO的url重写

我需要在我的asp.netMVC站点上实现类似SO的功能。例如,当用户转到https://stackoverflow.com/questions/xxxxxxxx加载后,主题行与url连接在一起,url变成这样https://stackoverflow.com/questions/xxxxxxxx/rails-sql-search-through-has-one-relationship将上面的“/rails-sql-search-through-has-one-relationship”部分添加到url。在webforms中很简单,我可以只使用url重写。但不确定如何在MVC中实现这

c# - 在 ASP.NET 中重写 URL?

我正在使用ASP.NETC#。如何实现类似于StackOverflow.com的URL重写过程?http://stackoverflow.com/questions/358630/how-to-search-date-in-sql另外,URL中的“358630”等值是什么意思?这是问题ID(他们用来从表中获取数据的基础)吗?不管是什么,在我的应用程序中,我使用“ID”字段来识别记录。该字段是SQL表中的标识列。现在,我的URL如下所示:http://myweb.com/showdetails.aspx?id=9872但我希望它们看起来像:http://myweb.com/showdet