Tag: .net

如何在每次访问类时设置断点

在使用第三方系统时,特别是可动态加载提供程序,控制器,组件等的非常可配置的系统,我有时只想知道何时访问某个对象或类。 通常情况下,我会在源代码中的任何潜在行放置一个断点(令人讨厌,但它有效),但如果源不可用: 如何指示Visual Studio 2010 Ultimate打破对给定类的任何和每次访问? 注意:就我的经验而言,这通常是不可能的,但我希望看到它得到证实

WPF工具提示不会更新

假设我有一个代表工作人员的简单类 class Staff { public string FirstName { get; set; } public string FamilyName { get; set; } public int SecondsAlive { get; set; } } 我有一个DataTemplate供员工使用 然后我在ListBox中展示了一大堆人员 myListBox.ItemsSource = GetAllStaff(); 很标准的东西。 我遇到的问题是显示某人活着的秒数的工具提示没有得到更新。 当你第一次将鼠标移到一个工作人员上时,它工作正常,但从那时起它就永远保持这个价值。 我可以实现INotifyPropertyChanged以解决这个问题,但是只要SecondsAlive发生变化,每个工作人员都可以做到这一点。 假设我在列表中有400名员工,那么我必须筹集400个事件,即使用户可能永远不会查看另一个工具提示。 我想要的是使工具提示请求显示SecondsAlive属性。 那可能吗? 请注意,这只是一个例子,我不需要知道我的员工活了多少秒:-)但我有同样的问题,我需要提高一个甚至大约400倍的工具提示,有人可能不会看。

AppDomain.CurrentDomain.UnhandledException未被调用

我有一个WCF服务,在Global.asax中有以下代码: protected void Application_Start(object sender, EventArgs e) { // Make sure that any exceptions that we don’t handle at least get logged. AppDomain.CurrentDomain.UnhandledException += LogUnhandledException; } private void LogUnhandledException(object sender, UnhandledExceptionEventArgs e) { Log.Error.LogException(“UnhandledException”, e.ExceptionObject as Exception); } 我们的想法是至少记录所有未公开的exception。 但它似乎从未被称为。 我尝试在我的一个服务操作中执行Divide by Zero,它只是在遇到exception后停止服务。 int zero = 0; int result = 100 / zero; 永远不会调用LogUnhandledException方法。 我在IIS中运行并在调试器中运行。 […]

获取.ttf文件的字体名称

假设有一个.ttf(True Type Font)文件。 您可以通过单击将其安装在Windows上。 字体的真实名称不是.tff之前的文本(比如说SuperFont.ttf =>所以名称不是“SuperFont” – 它可能是,但大部分都不是)。 我想阅读.tff(不知何故?)并得到字体的名称(不安装字体)。 有任何想法吗?

为什么在C#中没有System.DateTime的“约会”速记?

如int , long , ushort , uint , short等。 为什么没有System.DateTime的简短指针?

无法使用现有数据库运行EF5迁移

首先,我已经阅读了这些问题/答案: EF迁移消息 如何在使用基于代码的迁移时停止添加迁移检查我的数据库没有挂起的迁移? 使EF4.3代码优先迁移忽略挂起的迁移 这些似乎都适用于EF5之前的EF版本,我的情况似乎不适合这些答案。 所以,让我描述一下我的情况。 我的应用程序最初是使用EF4创建的,模型优先。 我使用GUI设计器设计了我的数据库,并用它来生成我的数据库。 我已经运行并将数据收集到数据库中几个月了。 我真的不能丢失这些数据。 我分支我的代码,用NuGet安装EF5,并使用EF Power Tools通过右键单击新的类库项目从我的数据库生成我的模型,然后选择Entity Framework | Reverse engineer code first Entity Framework | Reverse engineer code first 。 我能够顺利地重新引用我的新项目,将我的项目转换为使用新的DbContext而不是ObjectContext,并删除了保存旧模型的EF4类库。 该计划效果很好! 现在,我想尝试自动迁移,我在Ruby on Rails中有一些经验。 这是我做的: Ran Enable-Migrations 。 由于连接字符串和app.config被使用而有点麻烦,但最终得到了它。 但是, 这个MSDN页面说这应该自动生成第一次迁移,以使我达到我已经到达的程度。 它没有。 Ran Add-Migration InitialSchema来完成在步骤1中未自动完成的操作。这有效。 向我的某个模型对象添加了一个属性,然后尝试运行Add-Migration AddSerialToLogEntries ,并显示: 由于以下显式迁移未决,因此无法生成显式迁移:[201307190100268_InitialSchema]。 在尝试生成新的显式迁移之前应用挂起的显式迁移。 尝试在我现有的数据库上应用迁移失败,这并不奇怪。 我上面提到的其他答案基本上说我运气不好,但就像我说的那些是旧版本的entity framework。 我有什么选择吗? 在写这个问题时,我想我可以使用SQL Server Management […]

在WPF中使用MVVM拖动鼠标时绘制矩形

下面是我的xaml。 我在canvas里面有一个图像。 我想在图像上拖动鼠标时在图像上绘制矩形。 我在WPF中成功完成了它。 但现在我想在MVVM中做到这一点。 我没有在代码中使用事件处理程序,而是希望将它们放在我的ViewModel中。 我正在使用MVVM Foundation来实现MVVM。 以下是MVVM Foundation的链接。 http://sofzh.miximages.com/c%23/CapturedImage.png” MouseDown=”imgCamera_MouseDown” MouseMove=”imgCamera_MouseMove” MouseUp=”imgCamera_MouseUp” /> 用代码写的代码 // This is the rectangle to be shown when mouse is dragged on camera image. private Point startPoint; private Rectangle rectSelectArea; /// /// /// /// /// private void imgCamera_MouseDown(object sender, MouseButtonEventArgs e) { startPoint = e.GetPosition(cnvImage); // Remove the […]

在C#.NET中调用Ruby或Python API

我有许多我在Ruby和Python中开发的API / Classes,我想在我的.NET应用程序中使用它们。 是否可以在C#中实例化Ruby或Python对象并调用其方法? 似乎像IronPython这样的图书馆就是这样做的。 这意味着,他们允许Python使用.NET对象,但不是我正在寻找的这个的倒数…我在这里遗漏了什么? 有任何想法吗?

以编程方式确定当前域控制器

我需要查询当前的域控制器,可能是主要的更改用户密码。 (P)DC名称应该是完全合格的,即DC=pdc,DC=example,DC=com (如何正确命名这种表示法?) 如何使用C#完成?

如何在ac#winforms程序中添加类似控制台的控制台

我有一个程序来监视调试消息,我已经尝试使用TextBox并将消息附加到它但它不能很好地扩展,并在消息数量变大时减慢速度。 然后我尝试了一个ListBox,但在添加新消息时,滚动正在捕捉到顶部。 它也不允许像文本框那样剪切和粘贴。 什么是实现类似控制台的更好方法,如winforms窗口中嵌入的元素。 编辑:我仍然希望能够嵌入像visual studio这样的输出窗口,但由于我无法找到一个简单的方法,所以我使用的是两个解决方案。 除了使用有效的RichTextBox之外,你必须时不时地清除它。 我使用的是我用的控制台。 这是我写的一个小包装类来处理这个问题。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace Con { class Ext_Console { static bool console_on = false; public static void Show(bool on,string title) { console_on = on; if (console_on) { AllocConsole(); Console.Title = title; // use to change color Console.BackgroundColor = System.ConsoleColor.White; […]