将两位数年份转换为四位数年份

这是最佳实践的问题。 我有一个实用程序,以字符串forms将两位数作为年份,我需要将其转换为四位数年份作为字符串。 现在我做 //DOB’s format is “MMM (D)D YY” that first digit of the day is not there for numbers 1-9 string tmpYear = rowIn.DOB.Substring(rowIn.DOB.Length – 3, 2); //-3 because it is 0 indexed if (Convert.ToInt16(tmpYear) > 50) tmpYear = String.Format(“19{0}”, tmpYear); else tmpYear = String.Format(“20{0}”, tmpYear); 我确信我做错了,任何指针?

在.NET中创建插件环境的最佳方法

我读了这篇文章如何在.NET中加载插件? ,我真的没有看到微软的System.Addin命名空间的光彩。 为什么我不能在我的bin目录中有一个plugins文件夹,用户可以将程序集放入实现我设计的接口? 然后我可以使用reflection来创建插件类的实例并使用我的界面引用它。 为什么System.Addin显然要好得多? 特别是因为它似乎是工作的三倍和不太直观的设计。

WPF Sentinel对象以及如何检查内部类型

正如你们中的一些人发现的那样,一个新的特性(?)出现在WPF 4中,其中数据绑定引擎可以将名为“ {DisconnectedItem} ”的类MS.Internal.NamedObject的自定义控件实例传递给DataContext – 而不是您的代码所期望的数据项(当模板控件被其ItemsControl断开时会发生这种情况)。 这些被称为哨兵对象。 在现有代码中,这可能导致虚假exception,其中代码没有准备好。 这些可以被数据绑定子系统吞噬,或者它们可能造成严重破坏。 密切关注您的调试控制台。 无论如何,我在这个MSDN论坛上了解到了这一点 。 Sam Bent的post解释了这一切 。 现在去看看, 你会想知道这一点 。 本质上是这些事件永远不会被解雇(这就是错误),所以: 如果DataContext是sentinel对象,则忽略DataContextChanged事件。 所以,我想检查一下我的DataContext。 但是怎么样? 考虑: public bool IsSentinelObject(object dataContext) { return (dataContext is MS.Internal.NamedObject); } 猜猜会发生什么? 它没有编译,因为MS.Internal.NamedObject是内部的,我无法访问。 当然,我可以像这样破解它: public bool IsSentinelObject(object dataContext) { return dataContext.GetType().FullName == “MS.Internal.NamedObject” || dataContext.ToString() == “{DisconnectedObject}”; } (或其他东西,有效)。 我也遵循Sam的建议缓存对象以供以后引用相等性检查(它是一个单例)。 当然,这意味着我没有问题,不是真的。 但我很好奇,这篇文章肯定会让一些用户受益,所以无论如何都值得问: 有没有一种方法可以根据内部NamedObject类型精确检查类型,而无需求助于字符串比较?

操作完成前MVC4 + async / await +返回响应

在我的MVC4应用程序中,我需要添加一个控制器来上传和处理大文件。 文件上传后,我需要立即启动该文件的异步处理并将响应返回给浏览器,而无需等待处理完成。 显然我可以手动启动一个新线程来处理文件,但是我想知道我是否可以使用.net 4.5引入的async / await机制来实现这个场景 为了测试这个概念,我尝试过这样的事情: public async Task Test() { TestAsync(); return View(“Test”); } public async void TestAsync() { await LongRunning(); } private Task LongRunning() { return Task.Factory.StartNew(() => Pause()); } private int Pause() { Thread.Sleep(10000); return 3; } 异步机制似乎一般工作:当我调试代码时,我点击“返回视图(”测试“);” 行“返回3”之前的行。 但是,浏览器仅在Pause方法完成后才会收到响应。 这看起来像常规异步控制器(具有Async和Completed方法的控制器)。 有没有办法在控制器中为我的场景使用async / await?

如何聚焦外窗?

我有一个应用程序,一次只能打开一个自己的实例。 为了强制执行此操作,我使用以下代码: System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcesses(); System.Diagnostics.Process me = System.Diagnostics.Process.GetCurrentProcess(); foreach (System.Diagnostics.Process p in myProcesses) { if (p.ProcessName == me.ProcessName) if (p.Id != me.Id) { //if already running, abort this copy. return; } } //launch the application. //… 它工作正常。 我还希望它能够集中已经运行的副本的forms。 也就是说,在返回之前,我想将此应用程序的其他实例置于前台。 我怎么做? Re:SetForeGroundWindow: SetForeGroundWindow工作到一定程度: [System.Runtime.InteropServices.DllImport(“user32.dll”)] public static extern bool SetForegroundWindow(IntPtr hWnd); //… if (p.Id != […]

System.Reactive.Joins指南

我正在寻找System.Reactive.Joins的介绍/一些文档,其中包括Pattern,Plan,QueryablePattern和QueryablePlan类。 谷歌没有发现任何东西(“System.Reactive.Joins”),MSDN什么都没有,这里没有样本, 这个问题的优秀资源不包括这个命名空间。 有人有指点吗?

如何将字符串参数传递给t4模板

嗨,我想找到一种方法将普通字符串作为参数传递给文本模板。 这是我的模板代码,如果有人能告诉我在c#中需要写什么来传递我的参数并创建类文件。 那将是非常有帮助的,谢谢。 namespace { using System; using System.Collections.Generic; using System.Linq; using System.Xml; /// /// This class describes the data layer related to . /// /// /// <change author=`Auto Generated` date=>Original Version /// public partial class : DataObject { #region constructor /// /// A constructor which allows the base constructor to attempt to extract the […]

C#方法可以返回一个方法吗?

C#中的方法可以返回一个方法吗? 例如,一个方法可以返回一个lambda表达式 ,但是我不知道我可以为这样的方法提供什么类型的参数,因为一个方法不是Type 。 这样的返回方法可以分配给某个委托。 以此概念为例: public QuadraticFunctionMaker(float a , float b , float c) { return (x) => { return a * x * x + b * x + c; }; } delegate float Function(float x); Function QuadraticFunction = QuadraticFunctionMaker(1f,4f,3f);

如何以编程方式登录wordpress?

我需要以编程方式在wordpress管理面板中执行某些操作,但无法管理如何使用C#和HttpWebRequest登录到Wordpress。 这是我做的: private void button1_Click(object sender, EventArgs e) { string url = “http://localhost/wordpress/wp-login.php”; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); CookieContainer cookies = new CookieContainer(); SetupRequest(url, request, cookies); //request.Accept = “text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8”; //request.Headers[“Accept-Language”] = “uk,ru;q=0.8,en-us;q=0.5,en;q=0.3”; //request.Headers[“Accept-Encoding”] = “gzip,deflate”; //request.Headers[“Accept-Charset”] = “windows-1251,utf-8;q=0.7,*;q=0.7”; string user = “test”; string pwd = “test”; request.Credentials = new NetworkCredential(user, pwd); string data = string.Format( “log={0}&pwd={1}&wp-submit={2}&testcookie=1&redirect_to={3}”, […]

如何在控制台应用程序中使用Razor View Engine?

我的控制台应用需要发送HTML电子邮件。 我想在Razor视图中以HTML格式编写电子邮件,并让引擎生成电子邮件正文内容。 这意味着没有控制器或请求。 我怎么能这样做?