Tag: .net

拖动WPF弹出控件

WPF Popup控件很不错,但在我看来有些局限。 有没有办法在打开时“拖动”弹出窗口(就像使用Windows的DragMove()方法一样)? 这可以在没有大问题的情况下完成,还是我必须自己编写弹出类的替代品? 谢谢

如何以便携方式在C#中播放压缩声音文件?

是否有一种便携式,而非专利限制的方式来播放C#/ .Net中的压缩声音文件? 我想在节目中发生的各种事件上播放短暂的“叮当”声。 System.Media.SoundPlayer只能处理WAV,但这些通常很大,可嵌入到可下载的应用程序中。 MP3受专利保护,因此即使有完全管理的解码器/播放器,它也不能自由重新分配。 可用的最佳格式似乎是OGG Vorbis,但我没有运气让任何C#Vorbis库工作(我设法用csvorbis提取原始PCM,但我不知道如何在之后播放它)。 我既不想使用我的应用程序分发任何二进制文件,也不想依赖于P / Invoke,因为该项目至少应该在Windows和Linux上运行。 只要它们与GPL许可兼容,我就可以捆绑.Net程序集。 [这个问题是一年前关于mono-dev邮件列表的邮件列表讨论的后续问题]

散列过程如何在Dictionary 中工作

散列过程如何在Dictionary中工作? 我读到使用字典提供更快的查找。 但是不明白怎么了? 散列和映射到索引的方式如何? 找不到任何好的参考。 编辑:如何从散列函数的结果中获取存储对象的实际内存位置?

Action / Func vs Methods,有什么意义?

我知道如何在.NET中使用Action和Func ,但每次我开始时,使用我调用的常规旧方法可以实现完全相同的解决方案。 当Action或Func被用作我无法控制的事物的参数时,这就排除了,比如LINQ的.Where 。 基本上我的问题是……为什么这些存在? 他们给了我什么额外的和新的一个简单的方法不?

如何改进此exception重试方案?

我有一个我正在调用的Web服务方法,它是第三方和我的域之外。 出于某种原因,Web服务偶尔会出现网关超时。 它的间歇性和在尝试失败后直接调用它可以成功。 现在我有一个编码困境,我有代码应该做的伎俩,但代码看起来像业余时间,你会在下面看到。 这是非常糟糕的代码,还是可以接受的? 如果不能接受,我该如何改进呢? 在看的同时请努力保持笔直。 try { MDO = OperationsWebService.MessageDownload(MI); } catch { try { MDO = OperationsWebService.MessageDownload(MI); } catch { try { MDO = OperationsWebService.MessageDownload(MI); } catch { try { MDO = OperationsWebService.MessageDownload(MI); } catch { try { MDO = OperationsWebService.MessageDownload(MI); } catch (Exception ex) { // 5 retries, ok now log […]

.NET String.Length属性返回什么? 代替中性长度或完整的字符长度

文档和语言在VS 2008和2010之间有所不同: VS 2008文档 在内部,文本存储为Char对象的只读集合,每个Char对象代表一个以UTF-16编码的Unicode字符 。 … 字符串的长度表示字符数,无论字符是否由Unicode代理项对形成。 要访问字符串中的各个Unicode代码点,请使用StringInfo对象。 – http://msdn.microsoft.com/en-us/library/ms228362%28v=vs.90%29.aspx VS 2010文档 在内部,文本存储为Char对象的顺序只读集合 。 … 字符串的Length属性表示它包含的Char对象的数量,而不是Unicode字符的数量。 要访问字符串中的各个Unicode代码点,请使用StringInfo对象。 – http://msdn.microsoft.com/en-us/library/ms228362%28v=VS.100%29.aspx 两种情况下使用的语言都没有明确区分“字符”,“Unicode字符”,“字符类”,“Unicode代理项对”和“Unicode代码点”。 VS2008文档中的语言声明“字符串表示字符的数量,无论字符是否由Unicode代理项对形成”似乎将“字符”定义为可能是Unicode代理项对的结果的对象,这表明它可能代表一个4字节的序列而不是一个2字节的序列。 它还特别指出一个“char”对象以UTF-16编码,这表明它可以代表一个代理对(4个字节而不是2个字节)。 我很确定这是错的。 VS2010文档更加精确。 它区分了“char”和“Unicode character”,但不区分“Unicode character”和“Unicode code point”。 如果代码点引用代理对的一半,并且“Unicode字符”代表完整对,那么“Char”类的名称不正确,并且根本不引用“Unicode字符”(他们声明它不),它真的是一个Unicode代码点。 那么以下两个陈述都是真的吗? (是的,我认为。) String.Length表示Unicode代码点长度,和 String.Length既不表示Unicode字符长度也不表示我们认为是真正的字符长度(将显示的字符数),而是表示“Char”对象的数量,每个对象代表一个Unicode代码点(不是Unicode字符)。

DI的一个接口的多个实现

现在我正在尝试使用Autofac的IOC容器自学习dependency injection模式。 我想出了一个非常简单的例子,如下所示。 虽然示例很简单,但我无法正常工作。 这是我的类/接口: 两个怪物,都实现了IMonster接口: interface IMonster { void IntroduceYourself(); } class Vampire : IMonster { public delegate Vampire Factory(int age); int mAge; public Vampire(int age) { mAge = age; } public void IntroduceYourself() { Console.WriteLine(“Hi, I’m a ” + mAge + ” years old vampire!”); } } class Zombie : IMonster { public […]

与Model和ViewModel混淆

我正在学习ASP.NET MVC并下载了几个示例应用程序。 MusicStore等…… 我来自wpf背景,我们有MVVM模式。 我注意到他们使用了模型和ViewModel的概念。 在MVVM中很明显,您将视图绑定到ViewModel,将模型注入viewModel。 在MVC中你有一个控制器,但我不确定和混淆所有联系在一起,因为我看不到模型注入ViewModel 我有以下结构 MyCompany.Entities.dll(所有型号都在这里)EG产品 MyCompany.Dal.dll(所有存储库都在这里) MyCompany.Services.dll(由MyCompany.WebUI.Controller调用,调用MyCompany.Dal) MyCompany.WebUI.MyApp MyCompany.Tests 从我看到的一些示例中,您的模型充当ViewModel.Am我是否正确? 让我们拿一个控制器,我有类似的东西 public class ProductController { public ProductController(IProductRepository productRepository) { //omitted as not relevant } } public class ProductVM { public ProductVM() { // Shouldn’t we inject the model here RG Product } } 我可以参考一些N层示例吗? ViewModel的概念在MVC中是否有效? 标准是什么? 谢谢你的任何建议。

合并两个图像以在C#.Net中创建单个图像

我有一个要求,其中我需要使用C#.Net将两个不同的png / jpeg图像合并成单个图像。 将在源图像上定义特定位置,其中我需要插入另一图像。 任何人都可以建议一些链接?

洋葱架构,工作单元和通用存储库模式

这是我第一次实施更多以域驱动的设计方法。 我决定尝试使用Onion Architecture,因为它专注于域而不是基础架构/平台/等。 为了从entity framework中抽象出来,我创建了一个带有工作单元实现的通用存储库 。 IRepository和IUnitOfWork接口: public interface IRepository { void Add(T item); void Remove(T item); IQueryable Query(); } public interface IUnitOfWork : IDisposable { void SaveChanges(); } IRepository和IUnitOfWorkentity framework实现: public class EntityFrameworkRepository : IRepository where T : class { private readonly DbSet dbSet; public EntityFrameworkRepository(IUnitOfWork unitOfWork) { var entityFrameworkUnitOfWork = unitOfWork as EntityFrameworkUnitOfWork; […]