Tag: c#

以类型安全的方式处理PropertyChanged

有很多文章关于如何使用reflection和LINQ以类型安全的方式引发PropertyChanged事件,而不使用字符串。 但有没有办法以类型安全的方式使用 PropertyChanged事件? 目前,我正在这样做 void model_PropertyChanged(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case “Property1”: … case “Property2”: … …. } } 有没有办法避免在switch语句中硬编码字符串来处理不同的属性? 一些类似LINQ或基于reflection的方法?

用渐变色绘制线条

是否可以使用渐变色绘制线条? 我希望能够绘制直线或曲线(如果可能),在该线的一端是蓝色,另一端是红色。 此外,可能需要每行有多个渐变,例如颜色来自蓝色 – >绿色 – >红色。 我想这可能只是由多个渐变线组成。

无法加载文件或程序集“System.Net.Http”或其依赖项之一

也许相关信息:我有一个我用.net 4.5构建的Web应用程序。 我想部署到Azure的网站,但它只支持.net 4.0,所以我将项目降级为.net 4.0。 它在本地运行时仍然有效。 当我发布到Azure时,我收到此错误: 无法加载文件或程序集“System.Net.Http”或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040) 我尝试用nuget删除Web API并读取它,正如SO建议的另一个问题,但我仍然有同样的问题。 我试过关闭/打开VS,并清理/构建。

ssis vsta脚本组件在编辑VS2015时打开速度慢

自从升级visual studio 2015并使用ssis以来,我们已经体验到Script Task / Component的编辑器大约需要30秒才能打开。 我看到一些较旧的post建议将“127.0.0.1 crl.microsoft.com”添加到本地hosts文件中。 但是对我正在经历的问题没有影响。 真的希望有人有同样的问题,也许找到解决方案?

更改zedgraph窗格背景颜色

是否可以更改zedgraph窗格的背景颜色(默认为白色)? 我尝试更改zedgraph元素的背景颜色,但它没有给出任何可见的结果,背景仍为白色: ZedGraphControl.BackColor = System.Drawing.Color.Black; 并且ZedGraphControl.GraphPane上似乎没有Color或BackColor属性。

隐藏Windows Phone 8.1的导航按钮

我正在构建一个Windows Phone 8.1应用程序,我面临以下问题。 有些手机没有硬件导航按钮(背面,家庭和搜索)。 当虚拟导航栏出现时,这些手机将缩小整个UI,我不希望这种情况发生。 那么我该怎么做才能防止这种情况呢? 互联网接缝不知道答案(或我搜索不够好)。 这就是我说虚拟导航按钮的意思。

C#中的字节枚举比较

鉴于此枚举 public enum UserStatus : byte { Approved = 1, Locked = 2, Expire = 3 } 当usr.Status = 1时,为什么这个检查总是返回false if(usr.Status.Equals(UserStatus.Approved)) return true; return false; 比较似乎有效 – 没有编译时错误或运行时exception。 请注意我不是这段代码的作者,并且想知道为什么作者选择了byte类型的枚举以及为什么它不能正常工作。

获取文件c#的所有权

我试图取得一个文件的所有权,并通过C#删除它。 该文件是iexplorer.exe,默认为当前所有者 – TrustedInstaller。 FileSecurity.SetOwner方法似乎设置了指定的所有权,但实际上并没有更改初始所有者并且不会抛出任何exception。 显然,下一次删除文件的尝试会引发exception。 在代码中应该更改什么来获取文件的所有权并将其删除? var fileS = File.GetAccessControl(@”C:\Program Files (x86)\Internet Explorer\iexplore.exe”); fileS.SetOwner(new System.Security.Principal.NTAccount(Environment.UserDomainName, Environment.UserName)); File.Delete(@”C:\Program Files (x86)\Internet Explorer\iexplore.exe”);

C#:在单独的Thread中调用 .InvokeMember()方法

我正在使用此代码,我在调用从dll动态加载的类的List的run方法: for (int i = 0; i < robotList.Count; i++) { Type t = robotList[i]; //robotList is a List object o = Activator.CreateInstance(t); t.InvokeMember(“run”, BindingFlags.Default | BindingFlags.InvokeMethod, null, o, null); } invokeMember正在调用列表中每个类的run方法。 现在我如何在一个单独的线程中从invokeMember调用这个run方法 ? 这样我就可以为每个被调用的方法运行单独的线程。

FileSystemWatcher文件位于子目录中

我正在尝试通知如果创建,复制或移动到我正在观看的目录中的文件。 我只希望收到有关文件的通知,而不是目录。 这是我目前的一些代码: _watcher.NotifyFilter = NotifyFilters.FileName; _watcher.Created += new FileSystemEventHandler(file_created); _watcher.Changed += new FileSystemEventHandler(file_created); _watcher.Renamed += new RenamedEventHandler(file_created); _watcher.IncludeSubdirectories = true; _watcher.EnableRaisingEvents = true; 问题是,如果我移动一个包含文件的目录,我就不会收到该文件的任何事件。 如何通知我所有添加的文件(无论如何)到监视目录或它的子目录? Incase我没有解释得足够好……我有WatchedDirectory和Directory1 。 Directory1包含Hello.txt 。 如果我将Directory1移动到WatchedDirectory ,我希望收到Hello.txt的通知。 编辑:我应该注意我的操作系统是Windows 8.我确实收到了复制/粘贴事件的通知,但没有移动事件(拖放到文件夹中)。