【C#-访问对象成员和原子性】教程文章相关的互联网学习教程文章

c# – 从Property Expression获取属性的拥有对象【代码】

我正在研究一些代码,其最终目的是让您使用属性表达式来设置具有类似语法的属性的值,以将变量作为out或ref参数传递. 有点像:public static foo(()=>Object.property, value);并且将为Object.Property分配值的值. 我正在使用以下代码来获取属性的owlying对象:public static object GetOwningObject<T>(this Expression<Func<T>> @this){var memberExpression = @this.Body as MemberExpression;if (memberExpression != null){var ...

c# – 用于排列单元测试的序列化对象图

我有一个应用程序,其中问题域由高度相关的域对象表示.我已经将域拆分为一些聚合根对象,这有助于对模型施加顺序,但是为单元测试安排前提条件非常困难,因为创建这些聚合根的实例需要创建大量引用的支持对象. 我想编写可重复的,独立的单元测试来运行应用程序而不需要外部依赖(理想情况下不需要编写大量代码). 我认为这些是我的选择.任何偏好或其他建议? >编写构建脚本,设置项目数据库并将已知数据插入其中,然后执行单元测试.这是我最...

c# – 将具有多个名称空间的XML反序列化为对象【代码】

我试图将此XML反序列化为C#.NET 4.5中的对象:<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="28" parentID="19" restricted="1"><dc:creator>Alicia Keys</dc:creator> <dc:date>2003-01-01</dc:date><dc:title>Gangsta Lovin&apos; (feat. Alicia Keys)</dc:title></item> </DIDL-Lite>码: 我没...

c# – JSON.NET:反序列化一个类包含从接口派生的对象列表【代码】

我有麻烦反序列化我的对象.它包含以下属性:public List<IShape> Shapes { get; set; };和JSON.NET反序列化器总是告诉我,实例化一个接口是不可能的. 我有几个类实现了实现IShape接口的接口,例如折线 – > IPolyline – > IShape的.我已经尝试了两种解决方案 > https://stackoverflow.com/a/8031283/1525505> https://stackoverflow.com/a/12769061/1525505 但我得到了同样的例外,即IShape无法立即被抛出. 我使用TypeNameHandling....

c# – 使用Linq计算父对象【代码】

我很擅长使用linq表达式并尝试重构一些旧代码.有没有办法将以下方法转换为简洁干净的Linq表达式?public int GetParentCount(object o) { int count = 0;object parent = GetParentObject(o);while (parent != null){count++;parent = GetParentObject(parent);}return count; }我试过搜索但没有得到令人满意的结果解决方法:您可以像这样枚举祖先:public IEnumerable<MyClass> AncestorsOf(MyClass obj) {var parent = GetParentO...

使用默认引用对象关系访问C#中属性的默认值【代码】

我在层次结构中有一个对象,其值可以默认为父对象的值.两个对象属于同一类型. 例如:如果Score属性为double.NaN,则应从Parent属性指向的对象中检索Score值,但仅在设置Parent时才会检索(Parent!= null). 我的问题是,我如何可靠地以通用的方式实现这样的模型?我有2个选项,但也许还有更多? 选项1:更改每个属性getter和setter以检查正在设置或获取的属性是否具有默认值,如果是,请尝试从父级读取它private double score = double.NaN...

c# – 如何将对象参数传递给WCF服务?【代码】

我有这个错误:Operation 'Login' in contract 'Medicall' has a query variable named 'objLogin' of type 'Medicall_WCF.Medicall+clsLogin', but type 'Medicall_WCF.Medicall+clsLogin' is not convertible by 'QueryStringConverter'. Variables for UriTemplate query values must have types that can be converted by 'QueryStringConverter'.我正在尝试将参数传递给我的WCF服务,但该服务甚至没有显示.#region Metho...

有没有办法在C#中使用Label对象创建行分隔符?【代码】

参见英文答案 > What is this control? Group Box or Not! 2个我正在使用VS 2010. 有没有办法在C#Windows窗体中创建行分隔符?我有时使用默认背景颜色和总白色背景. 我找到的这两种方法对我都不起作用.label2.AutoSize = false;label2.Height = 2;label2.BorderStyle = BorderStyle.Fixed3D;要么label2.MaximumSize = new Size(100, 0);label2.AutoSize = true;解决方法:只需更改第一个使用Bor...

c# – Dispose()应该创建新的对象实例吗?【代码】

使用C#.NET 4.0 我公司的应用程序使用资源锁定器来保持记录不被同时编辑.我们使用数据库来存储锁的开始时间以及获取锁的用户.这导致在资源锁定器上执行以下(奇怪的?)dispose,这恰好是从析构函数调用的:protected virtual void Dispose(bool disposing){lock (this){if (lockid.HasValue){this.RefreshDataButtonAction = null;this.ReadOnlyButtonAction = null;try{**Dictionary<string, object> parameters = new Dictionary<s...

c# – 列表框不显示特定对象的值(数据绑定)【代码】

我希望名为LstbClients的ListBox在每个Label或TextBlock中显示Name和Phonenumber(这对我来说无关紧要),我之前使用ComboBox进行DataBinded并且效果很好,但由于某种原因它不能用于此ListBox. 这是XAML代码.<ListBox x:Name="lstbClients"Height="300"Grid.Row="0" Grid.Column="0"Style="{StaticResource inputControls}"ItemsSource="{Binding clients}"><ListBox.ItemTemplate><DataTemplate><StackPanel Orientation="Horizontal"...

c# – 将空JSON对象([{},{},..])写入文件【代码】

我试图写一个简单的列表给json. 没有错误,执行正常,但我得到这个输出[{},{},{}]这是我的代码片段. studentList是Student类的对象列表.public void jsonRead(){string json = File.ReadAllText(Environment.CurrentDirectory + @"\JSON.txt");studentList= new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<List<Student>>(json);}public void jsonWrite(){string json = new System.Web.Script.Serializat...

c# – DateTime对象未从MSIL返回正确的值【代码】

我注意到我在MSIL中编写的一些代码以高速获取对象的任意属性并没有获得DateTime属性的正确值.无论DateTime对象的实际值如何,它总是返回相同的值.年份总是返回1,毫秒返回88等… 一些在LINQPad中剥离的代码演示了这一点.获取mc.Inner.Age返回正确的值,mc.Inner.DateOfBirth返回正确的DateTime值,但尝试获取mc.Inner.DateOfBirth的任何特定部分始终返回不正确的值.我看了看并尝试了一些方法让它发挥作用,但我没有足够的经验来真正知道...

c# – 反序列化名称未知的JSON对象【代码】

我有这样的json{"result": "success","response_code": 200,"message": "","collection": { "<channel_id>": {"<category_id>": {"id_category": "<category_id>","name": "<category>","date_created": "<date_tagged>"},"<category_id>": {"id_category": "<category_id>","name": "<category>","date_created": "<date_tagged>"}}} } 哪个channel_id和category_id不是固定名称.如何在C#上反序列化?解决方法:假设其他所有内容都...

c# – 在完成后长时间保持Task对象有什么缺点吗?【代码】

我发现自己养成了将Task对象远远超出完成容器的习惯. 到目前为止,我还没有发现任何缺点,我发现代码比在任务完成后使用单独的变量来存储结果更清晰. 下面是几个使用示例.虽然我认为它不是真正相关的,但它们已经成为MVVM应用程序中View Models的一部分.(请注意,这不是实际的工作代码,我只是尝试概述模式.) >早期初始化 SlowClient是一些需要几秒钟才能连接到WCF或REST的类服务.因此,我通过任务尽快初始化它.当需要客户端时,等待任务,...

c# – 如何在ASP.NET中将对象保存到会话并在View中访问它【代码】

我正在编写Asp.Net MVC 4应用程序.我想将模型对象保存到会话,然后从另一个页面访问它但不知道如何操作.可能吗?例如一些代码:[HttpPost]public ActionResult Index(EventDetails obj){if (ModelState.IsValid){Session["EventDetails"] = obj;return RedirectToAction("Index2","Home");}else return View();这里的事件细节模型代码:namespace ProjectMVC.Models {public class EventDetails{[Required]public string FirstTeamN...