Tag: C#的

如何修改LabelFor在必填字段上显示星号?

我想为HtmlHelper创build一个扩展方法,它允许我创build一个LabelFor属性,在它后面显示一个星号(如果它是必填字段)。 我怎样才能做到这一点? public class Foo { [Required] public string Name { get; set; } } Html.LabelFor(o => o.Name) // Name*

结构体实现接口是否安全?

我似乎还记得阅读关于结构如何通过C#实现CLR中的接口是不好的,但我似乎无法find任何有关它的信息。 这不好吗? 这样做是否有意想不到的后果? public interface Foo { Bar GetBar(); } public struct Fubar : Foo { public Bar GetBar() { return new Bar(); } }

Visual Studio 2012 Web API项目将无法运行 – 找不到Newtonsoft.Json

运行干净的解决scheme并重build后,我的MVC 4 Web API项目停止工作。 这是找不到Newtonsoft.Json。 我知道MS现在使用这个作为默认的JSON序列化程序 – 但它不在项目的引用列表中,我不能从NuGet中添加它,因为它已经安装了。 有没有人有什么想法,可能会出错? 全堆栈跟踪: [FileNotFoundException:无法加载文件或程序集'Newtonsoft.Json,版本= 4.5.0.0,文化=中立,PublicKeyToken = 30ad4fe6b2a6aeed'或其依赖项之一。 该系统找不到指定的文件。] d:\ Data \ Source受控项目中的MvcWebRole1.WebApiApplication.Application_Error()\ georace \ georace \ Server \ GeoRaceServer \ MvcWebRole1 \ Global.asax.cs:70 [HttpException(0x80004005):无法加载文件或程序集“Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”或其依赖项之一。 该系统找不到指定的文件。] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext上下文,HttpApplication应用程序)+12838633 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,HttpContext上下文,MethodInfo []处理程序)+175 System.Web.HttpApplication.InitSpecial(HttpApplicationState状态,MethodInfo []处理程序,IntPtr appContext,HttpContext上下文)+304 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,HttpContext上下文)+404 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+475 [HttpException(0x80004005):无法加载文件或程序集“Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = […]

从文件名获取目录名称

我有一个文件名(C:\文件夹\ foo.txt),我需要检索非托pipeC ++中的文件夹名称(C:\文件夹)。 在C#中,我会做这样的事情: string folder = new FileInfo("C:\folder\foo.txt").DirectoryName; 有没有一个函数可以用于非托pipeC ++从文件名中提取path?

如何清空C#中的列表?

我想清空一个列表。 怎么做?

DateTime.Compare如何检查date是否小于30天?

我试图解决帐户是否在30天内到期。 我使用DateTime比较正确吗? if (DateTime.Compare(expiryDate, now) < 30) { matchFound = true; }

C / C ++编译器警告:你清理所有的代码来删除它们或将它们留在?

我曾经在很多项目上工作过,在这些项目中,我被其他人的代码更新了。 更多的时候,我编译它,并得到大约1000多个编译器警告。 当我看到编译器的警告,他们让我感到肮脏,所以我的第一个任务是清理代码,并将其全部删除。 通常我会发现十几个像未初始化的variables这样的问题。 我不明白为什么人们把他们留在这里,没有任何警告,没有完整的编辑。 我错过了什么吗? 有没有任何理由让他们离开? 任何恐怖故事分享?

Python比C ++更快更轻吗?

我一直认为Python的优点是代码的可读性和开发速度,但是时间和内存的使用不如C ++。 这些数据让我非常吃惊。 你的经验告诉你什么关于Python与C ++的时间和内存使用情况?

Xlib和Firefox的行为

我试图创build一个小窗口pipe理器(只是为了好玩),但我在处理由Firefox创build的窗口时遇到问题(只有使用该应用程序,其他应用程序工作正常) 问题是,我启动Firefox后,添加我的装饰,似乎工作正常,但如果例如我尝试点击菜单button,(子)窗口不会出现。 什么似乎发生的是,点击后,ClientMessage事件触发与以下值: Data: (null) Data: _NET_WM_STATE_HIDDEN Data: (null) Data: (null) Data: (null) 现在的问题是,我不知道如何显示窗口,哪个窗口。 我试着用: XRaiseWindow XMapWindow 我试图得到瞬态窗口,并显示它 但没有成功。 我不明白的是,如果这个客户端消息是由菜单子窗口生成或不。 我应该如何显示一个窗口在_NET_WM_STATE_HIDDEN? 另一个奇怪的问题是,收到ClientMessage后,我总是收到2个UnMapNotify事件。 我还有另一个问题,如果我想显示“文件,编辑”菜单(在Firefox中,如果我没有记错的话,当你按下Alt键时。 也许Firefox创build一个窗口树? 这是我处理事件的循环: while(1){ XNextEvent(display, &local_event); switch(local_event.type){ case ConfigureNotify: configure_notify_handler(local_event, display); break; case MotionNotify: motion_handler(local_event, display); break; case CreateNotify: cur_win = local_event.xcreatewindow.window; char *window_name; XFetchName(display, cur_win, &window_name); printf("Window name: %s\n", window_name); if(window_name!=NULL){ if(!strcmp(window_name, […]

如何检测应用程序何时终止?

这是我最初的问题的后续工作,我想提出我的发现,并要求更正,想法和见解。 我的发现(或者说是解释)来自于人们对我以前的问题的回答,阅读MSDN .NET 3.5文档和debugging.NET 3.5代码。 我希望这对那些想知道如何检测应用程序何时终止的人有价值。 事件: System.AppDomain.CurrentDomain.ProcessExit :当进程退出时引发,例如,在默认的AppDomain和其他所有东西都被卸载之后[总执行时间被限制在3秒内]。 对于WPF,请改用System.Windows.Application.Exit 。 对于Windows窗体,在main方法中的Application.Run(…)之后运行代码。 System.AppDomain.CurrentDomain.DomainUnload :在默认AppDomain以外的AppDomain卸载时引发,例如,在运行具有unit testing框架的类(带有TestDriven.NET的MbUnit)时引发。 System.AppDomain.CurrentDomain.UnhandledException :(如果在默认的AppDomain处理:)在任何线程中引发任何未处理的exception,无论该线程启动了什么AppDomain 。这意味着,这可以用作所有未处理的exception。 System.Windows.Application.Exit :当WPF应用程序(即默认AppDomain )正常退出时引发。 重写System.Windows.Application.OnExit来利用它。 Finalizer(C#中的析构函数):当垃圾回收器释放非托pipe资源时运行。 [总执行时间有限! 活动顺序: WPF应用程序:优雅退出 System.Windows.Application.Exit System.AppDomain.CurrentDomain.ProcessExit 终结 WPF应用程序:未处理的exception System.AppDomain.CurrentDomain.UnhandledException 在TestDriven.NET中运行的MbUnit:通过testing(优雅退出) System.AppDomain.CurrentDomain.DomainUnload 终结 在TestDriven.NET中运行的MbUnit:失败的testing(未处理的exception由MbUnit处理) AppDomain.CurrentDomain.DomainUnload 终结 问题: 我的解释/发现是否正确? 你知道我所遗漏的更多细节吗? 例如,终结器的总执行时间是多less? 你知道我知道的其他事件吗? 那里有什么事件,他们在其他应用程序,如Windows窗体,Web服务,ASP.NET网站等提出什么顺序?