将.Net Garbage收集一个未被引用的对象,但是有一个正在运行的线程吗?

我有以下代码(为了便于阅读而减少): 主类: public StartProcess() { Thinker th = new Thinker(); th.DoneThinking += new Thinker.ProcessingFinished(ThinkerFinished); th.StartThinking(); } void ThinkerFinished() { Console.WriteLine(“Thinker finished”); } 思想家class级: public class Thinker { private System.Timers.Timer t; public delegate void ProcessingFinished(); public event ProcessingFinished DoneThinking; BackgroundWorker backgroundThread; public Thinker() { } public StartThinking() { t = new System.Timers.Timer(5000); // 5 second timer […]

如何将Regex.Matches放入数组中?

我有多个正则表达式匹配。 如何将它们放入一个数组中并单独调用它们,例如ID[0] ID[1] ? string value = (“{\”ID\”:\”([A-Za-z0-9_., ]+)\”,”); string ID = Regex.Matches(textt, @value);`

如何在Entity Framework中编写参数化的原始sql查询

如何在Entity Framework中编写参数化的原始sql查询? 我尝试过以下方法: string dateQueryString = String.Join(“,”, chartModelData.GetFormattedDateList()); //Dates returned in format of 20140402,20140506,20140704 const string selectQuery = @”SELECT MAX(DATA_SEQ) AS MaxSeq, MIN(DATA_SEQ) AS MinSeq, COUNT(1) AS TotSampleCnt FROM SPCDATA_TB WHERE DATA_WDATE IN @DateParam AND LINE_CODE = @LineCode AND MODEL_NO = @ModelNumber AND LOT_NO = @LotNumber AND EQUIP_NO LIKE @EquipNumber”; SPCDataSeqCntInfo dataSeqCntInfo = _dbContext.Database.SqlQuery(selectQuery, new […]

将按钮添加到Winforms DataGridView

有没有办法在C#中的Winforms DataGridView单元格中添加控件(例如按钮)? (我的目标是在网格的不同单元格中放置各种控件……)

如何像Blogger.com一样动态创建这种类型的子域名

一段时间以前我问了这个问题,我被告知必须在DNS等条目中输入。我不确定是否真的需要这些。 我正在寻找的function类型如下面的屏幕截图所示: 正如您所看到的,blogger允许用户为其博客选择子域。 我们怎样才能做到这一点? 我基本上是在asp.net C#中开发的。 一旦我拥有顶级域名,我怎样才能允许我的用户选择这样的子域名。 目前我正在开发localhost。 提前致谢:)

公开ExpandoObject的属性

我有一个ExpandoObject,我发送到一个外部库方法,它接受一个对象。 从我看到的这个外部lib内部使用TypeDescriptor.GetProperties,这似乎导致我的ExpandoObject的一些问题。 我可以改为使用匿名对象,这似乎有效但我使用ExpandoObject更方便。 我是否需要构建自己的DynamicObject并通过实现ICustomTypeDescriptor自己处理它,或者我在这里遗漏了一些东西。 想法? 更新 除了以下somedave的答案(根据评论),我添加了这个类 public class ExpandoObjectTypeDescriptionProvider : TypeDescriptionProvider { private static readonly TypeDescriptionProvider m_Default = TypeDescriptor.GetProvider(typeof(ExpandoObject)); public ExpandoObjectTypeDescriptionProvider() :base(m_Default) { } public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) { var defaultDescriptor = base.GetTypeDescriptor(objectType, instance); return instance == null ? defaultDescriptor : new ExpandoObjectTypeDescriptor(instance); } } 并注册如下: dynamic parameters = new ExpandoObject(); […]

反序列化枚举

我有一个xml,其中一个元素的属性可以为空。 例如, ….. 现在,语言是从模式创建的类中的枚举类型。 如果指定了语言,它可以正常工作,如果它是空白则无法反序列化(如示例所示)。 编辑:反序列化的代码: XmlSerializer xmlserializer = new XmlSerializer(type); StringReader strreader = new StringReader(stringXML); Object o = serializer.Deserialize(strreader); 我该如何处理这种情况

使用ExpressionTree分配属性

我正在尝试将属性赋值作为表达式树传递给方法。 该方法将调用表达式以便正确分配属性,然后嗅出刚刚分配的属性名称,以便我可以引发PropertyChanged事件。 我的想法是,我希望能够在我的WPF ViewModel中使用超薄自动属性,并且仍然会触发PropertyChanged事件。 我是ExpressionTrees的无知者,所以我希望有人可以指出我正确的方向: public class ViewModelBase { public event Action PropertyChanged = delegate { }; public int Value { get; set; } public void RunAndRaise(MemberAssignment Exp) { Expression.Invoke(Exp.Expression); PropertyChanged(Exp.Member.Name); } } 问题是我不知道怎么称呼它。 编译器拒绝了这种天真的尝试,原因是我肯定对任何能够回答这个问题的人都很明显: ViewModelBase vm = new ViewModelBase(); vm.RunAndRaise(() => vm.Value = 1); 编辑 谢谢@svick的完美答案。 我移动了一个小东西,并将其作为一种扩展方法。 以下是unit testing的完整代码示例: [TestClass] public class UnitTest1 { […]

使用MailKit库保存附件?

我正在尝试学习如何使用MailKit库,但我正在努力检索附件。 到目前为止,我的代码将打开一个邮箱,浏览每个邮件并存储数据,如发件人,主题,正文,日期等,但我无法处理附件。 我试图在github和其他网站上使用其他人解决方案,但我仍然不明白他们在代码中做了什么,当我接近获得解决方案时,它会导致更多错误,所以我会感到压力并删除所有代码。 我并不是说看起来很懒,但如果有人能解释我是如何做到的,我会很高兴。 我基本上是在为Web表单应用程序构建一个邮件客户端。 下面是我的代码,所以你可以看到我相当无能:) // Open the Inbox folder client.Inbox.Open(FolderAccess.ReadOnly, cancel.Token); //get the full summary information to retrieve all details var summary = client.Inbox.Fetch(0, -1, MessageSummaryItems.Full, cancel.Token); foreach (var msg in summary) { //this code originally downloaded just the text from the body var text = msg.Body as BodyPartText; //but I tried altering […]

正则表达式通配符

我刚刚开始使用Regular Expressions ,这是如此压倒性的,即使在阅读文档后,我似乎无法找到从哪里开始帮助解决我的问题。 我需要一堆字符串。 “Project1 – Notepad” “Project2 – Notepad” “Project3 – Notepad” “Untitled – Notepad” “HeyHo – Notepad” 我有一个包含外卡的字符串。 “* – Notepad” 如果我将这些字符串中的任何一个与包含通配符的字符串进行比较,我将需要它返回true。 (使用Regex.IsMatch()或类似的东西..) 我通常不会要求这样的答案,但我找不到我需要的东西。 有人能指出我正确的方向吗?