Tag: c#

从类型集合中获取公共基类的最简单方法

我正在构建一个自定义属性网格,用于显示集合中项目的属性。 我想要做的是只显示网格中每个项目中常见的属性。 我假设最好的方法是找到集合中每种类型的公共基类并显示它的属性。 有没有更简单的方法? 你能给我一个最佳方法的代码示例吗?

如何克服OutOfMemoryException从API中提取大型xml文档?

我从API中提取1M +记录。 pull工作正常,但是当我尝试将ReadToEnd转换为字符串变量时,我遇到了内存ReadToEndexception。 这是代码: XDocument xmlDoc = new XDocument(); HttpWebRequest client = (HttpWebRequest)WebRequest.Create(uri); client.Timeout = 2100000;//35 minutes WebResponse apiResponse = client.GetResponse(); Stream receivedStream = apiResponse.GetResponseStream(); StreamReader reader = new StreamReader(receivedStream); string s = reader.ReadToEnd(); 堆栈跟踪: at System.Text.StringBuilder.ToString() at System.IO.StreamReader.ReadToEnd() at MyApplication.DataBuilder.getDataFromAPICall(String uri) in c:\Users\RDESLONDE\Documents\Projects\MyApplication\MyApplication\DataBuilder.cs:line 578 at MyApplication.DataBuilder.GetDataFromAPIAsXDoc(String uri) in c:\Users\RDESLONDE\Documents\Projects\MyApplication\MyApplication\DataBuilder.cs:line 543 我该怎么做才能解决这个问题?

C#按原始顺序获取FieldInfos / PropertyInfos?

如何将类型FieldInfos / PropertyInfos作为MemberInfo数组按照它们在类中的布局顺序获取? class Test { public bool First { get; set; } public int Second; public string Third { get; set; } }

如何将列表计数绑定到WinForms中的标签?

如何将列表的计数绑定到标签。 更改列表后,以下代码无法更新: private IList list = new List(); //… label1.DataBindings.Add(“Text”, list.Count, “”);

在Visual Studio 2012中移动obj文件夹

因为路径太长(超过260个字符),我需要在别处创建obj文件夹。 如何告诉VS 2012在指定路径中创建此文件夹?

C#拦截/更改/重定向方法

假设我在第三方dll中有一个私有的,“实例”,非静态的bool方法。 所有这个方法都返回一个值。 没有其他的。 我将如何拦截对此方法的调用,更改它的IL OpCodes /方法体,或将其重定向到额外的,重写或派生的方法。 我不想反编译第三方DLL,手动更改源,并重新编译它。 我也不想将程序集保存到磁盘,因为这也涉及使用“重新编译”的程序集而不是原始程序集。 我基本上希望能够使用原始的dll – 没有替换或文件更改。 我只想做我上面提到的事情。 有没有办法解决这个问题? 如果是这样,你可以详细说明或发布参考/教程/等。 另外,我知道虚拟,覆盖和新的修饰符,但请记住我:没有所说的第三方dll的源,无法访问源,不想用dotPeek和重新编译等东西进行反编译。 谢谢! 编辑:我忘了提及基础架构的其余部分:MainProgram加载ThirdPartyDLL。 MainProgram还加载MyPluginDLL。 我正在尝试从MyPluginDLL更改ThirdPartyDLL中的方法,以便当MainProgram调用所述方法时,它将调用更改的方法。 我希望能够在不保存新assembly并使用新assembly重新启动MainProgram的情况下执行此操作。 基本上,我想在启动时或MainProgram运行时执行此操作。

将对象的Observable collectin保存到XML文件的最简单方法是什么?

我有一个包含客户对象的Observable集合: public class Customer { public string FirstName { get; set; } public string LastName { get; set; } public string Street { get; set; } public string Location { get; set; } public string ZipCode { get; set; } } 将此转储到XML文件的最简单方法是什么,以便稍后阅读?

使用LINQ将字符串拆分为N长度字符串列表

我知道String.Split的概念之前已经通过多种不同的方法得到了解决,但我对这个问题的LINQ解决方案特别感兴趣。 我试图编写一个扩展类来处理拆分,但两次尝试都有一些重大问题。 所以对于以下内容: string s = “ABCDEFGHIJKLMNOPQRSTUVWX”; var results = s.SplitEvery(4); 我想要一个列表,如:{“ABCD”,“EFGH”,“IJKL”,“MNOP”,“QRST”,“UVWX”} 这是我的扩展类: public static class Extensions { public static List SplitEvery(this string s, int n) { List list = new List(); var Attempt1 = s.Select((c, i) => i % n== 0 ? s.Substring(i, n) : “|”).Where(x => x != “|”).ToList(); var Attempt2 = s.Where((c, […]

ASP.NET MVC基于域和主机名的路由

我是ASP.NET MVC的新手,我的大多数经验都是在ASP.NET Webforms上。 有没有办法根据域/主机名设置路由,即www.domain.com到一个区域,admin.domain.com到另一个区域,www.differentdomain.com到web应用程序上的另一个区域。 此外,有没有办法做一个全能,即* .domain.com将路由到另一个区域?

LINQ:仅当值不为null时才添加where子句

我知道一种典型的方式是这样的: IQueryable query = from staff in dataContext.Staffs; if(name1 != null) { query = from staff in query where (staff.name == name1); } 但是,从我们从其他开发人员手中接过的程序中,我们看到了这样的代码: IQueryable query = from staff in dataContext.Staffs; query = from staff in query where (name1 == null || staff.name == name1); 如果这是一个普通的SQL语句,我肯定会说第二个是不好的做法。 因为当name1为null时,它会向查询添加无意义的where子句。 但我是LINQ的新手,所以我不确定LINQ是否有所不同?