Tag: .net

HttpClient不能正确序列化XML

在调用HttpClient的扩展方法PostAsXmlAsync ,它会忽略该类的XmlRootAttribute 。 这种行为是个错误吗? 测试 [Serializable] [XmlRoot(“record”)] class Account { [XmlElement(“account-id”)] public int ID { get; set } } var client = new HttpClient(); await client.PostAsXmlAsync(url, new Account())

C#扩展方法 – 也接受转义字符的字符串拆分

我想为.NET String类编写扩展方法。 我希望它是Split方法的一个特殊的方法 – 一个采用转义字符来防止在分隔符之前使用转义字符时拆分字符串的方法。 写这个的最好方法是什么? 我很好奇最好的非正则表达式来接近它。 像签名一样的东西…… public static string[] Split(this string input, string separator, char escapeCharacter) { // … } 更新:因为它出现了一个评论,逃避…… 在C#中转义非特殊字符时会出现错误 – CS1009:无法识别的转义序列。 在IE JScript中,转义转义字符。 除非你尝试\ u然后你得到一个“预期的hex数字”错误。 我测试了Firefox,它有相同的行为。 我希望这种方法非常宽容并遵循JavaScript模型。 如果你在非分隔符上转义,它应该“善意”删除转义字符。

Unity.AutoRegistration ?? 基于会议的注册统一

我的代码如下 IUnityContainer container = new UnityContainer(); container .ConfigureAutoRegistration() .LoadAssemblyFrom(typeof(Test).Assembly.Location) .LoadAssemblyFrom(typeof(ITest).Assembly.Location) .ApplyAutoRegistration(); 这是我的第一个问题。 我不确定我是否在这里正确使用了LoadAssemblyFrom方法: ITest test = container.Resolve(); 当我尝试编译时,我得到exception“ResolutionFailedException”。 我究竟做错了什么? 感谢您提前的时间。

为什么在c#中使用动态类型?

起初我想的是: var aName=getAllSomethings(); 是非常难以理解的,因此我会在没有混淆的空间时使用动态类型,例如: AClassName aName = new AClassName(); 这里, var aName=new AClassName(); 似乎可读。 但是,我( 这里 )读到动态类型也会带来性能代价。 我尝试阅读该链接中的所有其他post,以了解我应该在哪里使用动态类型,但是甚至没有提出一个很好的理由。 我应该等待,直到我告诉自己 – “这只能用动态打字来解决”? 或者是否有更好(实际)的理由使用它? 谢谢。 编辑:我的错误( – :将尽快关闭此问题。

检索SQL Server表中的特定行范围

我有一个像(OrderID [uniqueidentifier],OrderDesciption [nvarchar])的表结构,我正在使用ADO.Net + C#+ VSTS 2008 + SQL Server 2008.表很大,我想让客户给我两个输入,开始范围索引和结束范围索引,我将返回该范围内的特定行(在开始范围索引和结束范围索引之间)。 例如,如果客户端输入50,100,我想要返回第50行直到第100行。 乔治,提前谢谢

WPF如何动态创建文本框并在按钮单击时找到文本框?

我正在使用以下代码动态创建TextBox和Button : Button btnClickMe = new Button(); btnClickMe.Content = “Click Me”; btnClickMe.Name = “btnClickMe”; btnClickMe.Click += new RoutedEventHandler(this.CallMeClick); someStackPanel.Childern.Add(btnClickMe); TextBox txtNumber = new TextBox(); txtNumber.Name = “txtNumber”; txtNumber.Text = “1776”; someStackPanel.Childern.Add(txtNumber); 我点击了Click Me按钮的点击事件。 单击我按钮甚至被正确触发。 但是我找不到动态输入的TextBox 。 这是我点击我的活动: protected void ClickMeClick(object sender, RoutedEventArgs e) { // Find the phone number TextBox txtNumber = this.someStackPanel.FindName(“txtNumber”) as TextBox; […]

c#treeview忽略仅双击复选框

我有一个带有复选框的树视图,我试图在复选框中完成此操作时禁用双击。 我找到了完全禁用双击的方法,但这不是我想要的。 如果你能帮助我,我感激不尽。

Windows服务无法从我的Installer构造函数中访问app.config

我想将我的Windows服务’登录的用户名/密码信息存储为app.config中的’用户。 所以在我的安装程序中,我试图从app.config中获取用户名/密码并设置属性,但是在尝试安装服务时遇到错误。 如果我硬编码用户名/密码,它工作正常,当我尝试访问app.config时失败 public class Blah : Installer { public Blah() { ServiceProcessInstaller oServiceProcessInstaller = new ServiceProcessInstaller(); ServiceInstaller oServiceInstaller = new ServiceInstaller(); oServiceProcessInstaller.Account = ServiceAccount.User; oServiceProcessInstaller.Username = ConfigurationManager.AppSettings[“ServiceProcessUsername”].ToString(); } }

使用现有对象插入新对象

我是EF 4的新手,这是我到目前为止所做的: 根据我的数据库创建edmx文件 为我的对象(PO​​CO)创建代码生成。 现在我有了一个model1.tt,扩展后我会看到我的课程 基于IRepository为每个类创建一个存储库 现在,我正在处理两个对象,A和B.对象A具有类型B的属性。在我的winform中,我有一个组合填充了类型B的对象。当按下保存按钮时,A类的新实例是创建并设置所有属性。 对象B属性设置如下: objectA.myObjectB = (objectB)cmbBObjects.selectedItem; 然后我为objectA创建一个存储库并调用save方法。 在这个保存方法中,我有这个代码± public bool Save(ObjectA obj) { using(MyContext context = new MyContext()) { context.objectAs.AddObject(obj); context.SaveChanges(); } } 这段代码确实为数据库保存了一个新条目,但它也为对象B创建了一个新记录! 我不想要这个,因为对象B已经存在于数据库中! (我从combobox中选择了这个)。 这就是我填充combobox的方式: 在objectB存储库中: public IList GetAll() { using(MyContext context = new MyContext()) { IList objects = context.objectBs.ToList(); return objects; } } 在我的forms: ObjectBRepository rep = […]

.NET Max Memory即使对于x64程序集也使用2GB

我读过( http://blogs.msdn.com/joshwil/archive/2005/08/10/450202.aspx).NET中对象的最大大小是2 GB。 我是否正确假设如果我有一个占用256 MB内存的对象,因为它是一个引用类型,我可以拥有这些256 MB对象的数组,其中所有对象一起可能占用> 2GB内存,只要大小引用数组的值是否低于2 GB?