Tag: c#

方法重载的通用约束

我有一个带有一些generics方法的接口,我想实现一个带有重载的方法来接受一个类的实例,或者它的PK值(它是一个int或GUID但确实变化)。 我添加了类似这些示例的方法: void DoSomething(TKey key) where TKey: struct; void DoSomething(TModel model) where TModel : class; 其中第二个上的’DoSomething’方法名称突出显示,错误是 类型’ISomeStuff’已经定义了一个名为’DoSomething’的成员,它具有相同的参数类型。 我对此感到惊讶,因为我已经通过参数明确定义了不同的类型:一个是类,另一个是结构。 为什么这不足以使签名不同?

.NET中的Jaro-Winkler距离算法

在.NET中是否有任何LGPL或商业友好许可的Jaro-Winkler距离实现?

移动数组中的元素c#

我有这个非常简单的数组,我希望能够移动一些项目。在c#中是否有任何内置工具来执行此操作? 如果没有,你有任何建议,如何做到这一点。 在例子中 var smallArray = new string[4]; smallArray[0] = “a”; smallArray[1] = “b”; smallArray[2] = “c”; smallArray[3] = “d”; 并且让我说我想(以编程方式)移动索引2和0,创建 smallArray[0] = “c”; smallArray[1] = “a”; smallArray[2] = “b”; smallArray[3] = “d”; 谢谢。

控件中的嵌入式窗体或用户控件的窗体

好吧,我有一个大型CRUD应用程序,它使用带有嵌入在其中的表单的选项卡,如此 – > public static void ShowFormInContainerControl(Control ctl, Form frm) { frm.TopLevel = false; frm.FormBorderStyle = FormBorderStyle.None; frm.Dock = DockStyle.Fill; frm.Visible = true; ctl.Controls.Add(frm); } 然后我在父表单的表单加载事件中调用以下 – > // Embedd the child form in the this Parent WinFormCustomHandling.ShowFormInContainerControl(pnlModuleHost, _frmWWCModuleHost); 这是我在这里回答我之前的问题。 随着我的进步,我不断得到这样的感觉,即多层嵌入式表格是等待发生的灾难,用户控件不断弹出。 有人能为我提供一些关于使用用户控件和嵌入表单的具体建议吗? 请参阅我之前的问题,了解这个问题的灵感。 这里 此外,还可以在此处找到我当前嵌入的表单布局的动态屏幕截图。 谢谢

从两个不同的位置安装ClickOnce应用程序

我有一个在.NET Framework 3.5,Service Pack 1中使用C#开发的Windows窗体应用程序。可以基于开发数据库和生产数据库发布应用程序。 我正在使用MSBuild社区任务来发布我的应用程序。 将应用程序发布到不同位置(即开发位置和生产位置)时,我不会遇到任何问题。 问题: 将开发应用程序安装到我的机器后,我无法安装生产应用程序。 它给我一个错误说: 您无法从此位置启动应用程序TEST,因为它已从其他位置安装 问题:机器如何理解我正在尝试安装相同的应用程序? 我认为它有某种应用程序ID。 如果是这种情况,我可以根据位置覆盖相关值。 (DEV或PROD) 在我的应用程序的项目文件中发布时的当前代码: \\A\B\development\ Data Source=SQL-DEV.company.com; Database=TEST;Uid=XYZ;Pwd=ABC; \\A\B\production\ Data Source=SQL-PROD.company.com;; Database=TEST;Uid=XYZ;Pwd=ABC; 应用程序的发布就像一个魅力,并指向相关的数据库。 我现在要做的就是能够在同一台机器上安装开发应用程序和生产应用程序而不会出现任何错误。 问题:一次应用程序与另一次应用程序的区别是什么?

WPF内存泄漏

我有一个简单的wpf应用程序。 在主窗口中,我有堆栈面板和2个按钮。 第一个按钮添加了100个用户控件(没有任何数据绑定,事件,位图),第二个按钮从面板中删除所有这些控件并调用GC.Collect()。 并且存在一些问题:1。在我第一次单击“删除”按钮后,并非所有内存都释放,我必须单击几次以释放更多内存。 2. 5-10分钟内存释放后,但不会有几兆字节。 例如,在我的应用程序启动后,当我添加500个控件时需要~22mb – 在我第一次点击“删除”按钮后~~~60mb~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ,我不明白这一点,我是WPF的新手,也许我想念一些我想立即释放内存的东西。 namespace WpfApplication10 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { int N = 100; //var r = new ActivityStatisticItem(“111”, “222”, DateTime.Now, “333”, 1); for (int i = 0; i < N; i++) { […]

每24小时后执行一次ac#function

我有ac#函数用于生成缩略图,这些图像显示在网页上,即ASP.net那么我将如何编程调用这个后端函数,让我们每天在16:00或3:00说。

更新到MVC5后找不到/ signalr / hubs 404

SignalR正在工作,而项目是ASP.NET MVC3。 现在我把它升级到MVC5(不是那么容易做,我必须告诉你)。 然后我注意到signalR没有工作。 我按照这本书,将SignalR重新安装到版本2.1.0,安装了OWIN(必须为v2 +)并为项目添加了启动类。 这是我的startup.cs类,它位于项目根文件夹中: [assembly: OwinStartup(typeof(SISTEM.Startup))] namespace SISTEM { public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } } } 我觉得这里没问题,但也许我错过了一些东西…… 现在这里是来自集线器的片段: namespace SISTEM { public class PostingHub : Hub { public void Test(string hello) { Clients.All.hello(hello); } } } 然后我在视图中引用生成的代理: 我在fiddler中检查它,我可以看到/ signalr / hubs请求正在生成未找到的HTTP 404。 现在,我不是懒惰,我尝试了几件事: 修补无扩展URL的IIS – 因为我使用的是win8,所以不应该成为问题 […]

客户端中的IExtensibleDataObject用法

我已将我的Web服务转换为具有一些数据交换的wcf服务。 作为最佳实践,我们提到并建议DataContracts应inheritance自IExtensibleDataObject。 我明白,在添加或删除数据库的情况下,IExtensibleDataObject很有帮助。 但我无法得到客户端如何访问删除的数据库。 这是我的代码: [ServiceContract(Namespace = “http://mycompany.com/2010/08/”)] public class MyWebService { [OperationContract] public Employee Add(Employee emp) { // Some Processing } } [DataContract(Name = “Employee”, Namespace = “http://mycompany.com/2010/08/”)] public class Employee : IExtensibleDataObject { [DataMember] public string FirstName; [DataMember] public string LastName; public ExtensionDataObject ExtensionData { get; set; } } 现在,在我的下一个Web服务版本中,我对DataContract进行了一些更改 [DataContract(Name = “Employee”, […]

我可以自动为REST WCF服务生成服务引用吗?

我可以看到SOAP WCF over REST(json)wcf的唯一参数是,一旦我的服务被创建,我就可以在visual studio中添加一个引用,我可以为我和一个客户端类添加一个强类型类的负载可以通过我所有的网络方式调用。 据我所知,它甚至设置了web.config。 但是当我公开REST(json)服务时,我仍然得到一个WSDL。 所以我想知道还有办法自动构建我的引用吗?