有没有办法将类库函数转换为exe?

有没有办法将我的类库程序更改为.exe或单击一次应用程序? 目前我把它作为一个DLL。 我能够创建一次点击应用程序但安装后无法正常工作。

如何强制WPF启动窗口到特定的屏幕?

我有一个WPF应用程序,它将通过专用窗口显示有关投影仪的信息。 我想配置用于投影仪显示的屏幕以及用于主应用程序窗口的内容。 此代码将在指定屏幕上生成投影仪输出: var screen = GetProjectorScreen(); _projectorWindow = new ProjectorWindow(); _projectorWindow.Left = screen.WorkingArea.Left; _projectorWindow.Top = screen.WorkingArea.Top; _projectorWindow.Owner = _parentWindow; _projectorWindow.Show(); public static Screen GetProjectorScreen() { var screens = Screen.AllScreens; if (screens.Length > 1 && Settings.Default.DisplayScreen < screens.Length) { return screens[Settings.Default.DisplayScreen]; } return screens[0]; } 我试图用启动forms做同样的技巧,但到目前为止还没有成功。 我试图在MainWindow构造函数中设置Top和Left属性,但这不起作用。 通过设置StartupUri从App.xaml.cs启动启动窗口: StartupUri = new Uri(“Windows/MainWindow.xaml”, UriKind.Relative); 有没有其他方法来启动启动表单? 我试图只调用构造函数,但这会导致崩溃,因为某些资源不再被加载。

如何使用tfs api列出团队项目的文件?

我想知道是否有办法列出tfs团队项目中包含的所有“文件”。 我的目标是搜索由分支引起的TFS内没有固定路径的特定名称的文件($ / MyTeamProject / Main / Build / instruction.xml和$ / MyTeamProject / Branches / Release_1.0)。 一旦找到文件,我想操纵它。 我想我们正在谈论在团队项目中包含的实体而不是传统文件中的项目,因此这可能有点棘手? 我看过一些用于操作文件的示例,但到目前为止所有样本都有固定路径。

Dictionary.ContainsKey返回False,但想要True

namespace Dic { public class Key { string name; public Key(string n) { name = n; } } class Program { static string Test() { Key a = new Key(“A”); Key b = new Key(“A”); System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add(a, 1); return d.ContainsKey(b).ToString(); } static void Main(string[] args) { System.Console.WriteLine(Test()); } } } 我应该改变什么才能成真?

按文本而不是值对Datagridview的列进行排序

我的datagridview中有一个列是一个combobox列。 我想按它的显示值(即文本)而不是它的值(在这种情况下,来自数据库的int列表)进行排序。 我怎样才能做到这一点?

实现后密封接口

我正在做一个小项目,我遇到了这个问题。 项目输出是包含接口的库。 我希望实现该接口并尽可能密封其中的函数: public interface ITest { void SomeMethod(); } class A : ITest { public sealed override SomeMethod() { } } 我们的想法是让每个人都可以使用该界面,并拥有一些实现它的专门类。 例外情况是,我想确保如果某人创建了类型A的专用类,他/她将无法更改方法的行为。 问题是您不能在其中放置“override”关键字,因为该方法未在界面中声明为“虚拟”。 并且您不能在接口中将其声明为“虚拟”,因为它是不允许的。 并且您无法删除“override”关键字,因为“密封”需要它。 任何变通方法或头脑风暴的想法都会受到欢迎,但如果有人能想出一个包含界面的解决方案,我真的很乐意学习它! 谢谢! 编辑:忘了这个问题! 就像Ani说的那样,我忘了默认C#中的方法是密封的。 似乎偶尔回到基础知识总是好的…

C#Windows服务主要方法

我很好奇Main()方法究竟是如何在Windows服务中工作的,因为它与服务控制管理器有关。 什么时候执行? 它是如何挂钩操作系统的? 是否在安装服务时执行? 我知道它是在SCM调用OnStart()时执行的,OnStop()它已经在运行,所以我们不会再次执行它。 如果有人对这个领域了解很多并且可以详细说明我会很感激。 我是一名经验丰富的程序员,我不需要描述主要方法的一般用途……它是如何与Windows服务一起使用的。

关闭主表格

我正在使用c #Windows表单开发一个简单的应用程序。 主要forms打开另一种forms,但我不想要两种forms。 我希望当第二个表单打开时,第一个表单关闭。 由于第一种forms是主要使用 this.Close(); 显示第二个表格后将关闭两者。 所以我用它来代替 private void btnSubmit_Click(object sender, EventArgs e) { frmData QS = new frmData(); QS.Show(); this.WindowState = FormWindowState.Minimized; this.ShowInTaskbar = false; } private void frmData_FormClosed(object sender, FormClosedEventArgs e) { Application.Exit(); } 我想知道是否有其他方法可以做到这一点。 任何帮助将不胜感激。

object.GetHashCode()能否为不同机器上的相同对象(字符串)产生不同的结果?

是否有可能同一个对象,特别是string或任何原始类型或非常简单的类型(如struct ),在不同的机器上调用时生成.GetHashCode()方法的不同值? 例如,表达式”Hello World”.GetHashCode()可以在不同的机器上生成不同的值。 我主要是要求C#.NET,但我想这可能适用于Java甚至其他语言? 编辑: 正如下面的答案和评论所指出的那样,我知道.GetHashCode()可以被覆盖 ,并且不能保证它在不同版本的框架之间产生的结果。 因此,重要的是要澄清我有简单的类型(不能inheritance,因此GetHashCode()被覆盖)并且我在所有机器上使用相同版本的框架。

递增超出整数限制的整数值 – C#

我有一个for循环,它继续递增一个整数值,直到循环完成。 因此,如果限制n是双变量并且递增变量’i’是整数,则i增加超出其限制。 double total = 0; double number = hugetValue; for (int i = 1; i <= number; i++) { total = total + i; } return total; 如果’i’超过其容量,会发生什么? 我的价值如何变化? 我会收到运行时错误吗? 谢谢 NLV