【c#-使用反射在嵌套对象中设置属性】教程文章相关的互联网学习教程文章

C#-XDocument更改所有属性名称【代码】

我有一个看起来像的XDocument<root><a><b foo="1" bar="2" /><b foo="3" bar="4" /><b foo="5" bar="6" /><b foo="7" bar="8" /><b foo="9" bar="10" /></a> </root>我希望将属性foo更改为其他内容,并将属性栏更改为其他内容.我如何轻松地做到这一点?我当前的版本(下面)堆栈中充满了大型文档,并且闻起来很可怕.string dd=LoadedXDocument.ToString();foreach (var s in AttributeReplacements)dd = dd.Replace(s.Old+"=", s.New+"...

c# – Resharper属性,用于禁用“never assigned”但不禁用“never used”警告

我有一个工厂,它实例化对象并填写用自定义属性标记的字段. Resharper在这些字段下面放置一个绿色下划线,抱怨“字段’示例’从未被分配”.要禁止警告,我可以将MeansImplicitUseAttribute添加到我的自定义属性.问题是属性还抑制了“字段’示例’从未使用过”警告,这对我很有用,所以我想保留它. 我可以标记我的属性,以便我不会得到“从未分配”警告,但我仍然得到“从未使用过”的警告吗?解决方法:哦,MeansImplicitUse属性的参数指定了...

C#如何将变量名转换为匿名对象属性名?【代码】

使用以下语法创建新的匿名对象时:string name = "Foo"; var myObject = new { name };你得到一个名为’name’的对象:myObject.name == "Foo"; //trueC#使用什么方法来提取变量名?解决方法:基本上,这个表达式相当于new { name = name }因为没有提供明确的属性名称. C#编译器在编译时使用name属性生成一个类.它从变量名称(它显然看到)推断出属性名称.在编译时,所有内容都是静态类型的.在运行时没有执行任何特殊操作(除了匿名类实例...

c# – 将JSON数据存储在MongoDB中的_v属性之外【代码】

我正在使用MongoDB作为我的Web应用程序的数据库.我正在寻找一种方法来插入和检索动态JSON数据,而无需为它创建任何类型的类. 我的Web应用程序发送JSON字符串.然后在后端我将该JSON字符串转换为BsonDocument并将其插入MongoDB:var obj = BsonDocument.Parse(json.ToString()); Db.GetCollection<dynamic>("Items").InsertOneAsync(obj);这很好,除了MongoDB中的结构如下所示:_id = ObjectId("55618d35d747199c0a486fe0") _t = Mongo...

c# – 创建一个从父属性继承的环境属性【代码】

似乎无法弄清楚如何做到这一点.我有一个继承的Control:MyControl,带有一个名为MyOtherFont的属性.如何让MyOtherFont继承Parent控件的Font属性的环境值? 例如,如果我将此控件拖到字体为Segoe UI的Form上,则从设计器中,它应该从Form继承该值,而不是在属性窗口中以粗体显示. 谢谢解决方法:弄清楚了.这是一个C#示例,它完全符合我的示例所描述的内容.希望这有助于某人.public class MyControl : Control {private Font myOtherFont;pu...

c# – 通过反射获取所有ICollection属性【代码】

我正在尝试获取所有ICollection< T>来自未知类型的属性.此外,类型T(集合的内容)在编译时是未知的.首先我尝试过这种方法:foreach (var property in entity.GetType().GetProperties()) {if (typeof(ICollection).IsAssignableFrom(property.PropertyType) || typeof(ICollection<>).IsAssignableFrom(property.PropertyType)){// do something} }但它不起作用(即使对于ICollection属性也要评估为false). 我得到它像这样工作:forea...

c# – 使用Moq,如何验证对象的所有属性都被复制?【代码】

我有一个CopyFrom()方法的接口,它复制另一个对象的所有属性.我有一个测试执行几个VerifyGet()调用,以确保从传递的对象中检索每个属性,例如:Thing target = new Thing(); IThing source = new Mock<IThing>();target.CopyFrom(source.Object); source.VerifyGet(t => t.Foo); source.VerifyGet(t => t.Bar);我想要一种迭代IThing属性的方法,并验证每个属性是否自动复制,以便在有人添加属性但忘记复制它时测试将失败.有没有办法通过...

c# – Xamarin Forms和EntityFramework属性兼容性【代码】

我有一个使用C#,WPF,ASP.NET WebAPI和实体框架的客户端/服务器解决方案.客户端和服务器分支在他的项目中共享模型.现在我正在尝试创建一个新客户端,使用Xamarin Forms并共享模型,但实体框架属性(MaxLength,Index,NotMapped等)在PCL中不兼容.所以这就是我尝试过的事情: 将Microsoft.EntityFrameworkCore导入PCL模型 如here所述,您应该能够将实体框架与Xamarin表单一起使用,因此我将PCL转换为NetStandard 1.3,并且它可以工作,允许每个...

C# PictureBox.SizeMode 属性【图】

PictureBoxSizeMode.Normal: 默认情况下,在 Normal 模式中,Image 置于 PictureBox 的左上角,凡是因过大而不适合 PictureBox 的任何图像部分都将被剪裁掉。PictureBoxSizeMode.StretchImage: 使用 StretchImage 值会使图像拉伸或收缩,以便适合 PictureBox。PictureBoxSizeMode.AutoSize: 使用 AutoSize 值会使控件调整大小,以便总是适合图像的大小。PictureBoxSizeMode.CenterImage: 使用 CenterImage 值会使图像居于工作...

c#-“类成员的种类”的封装术语(例如字段,属性,方法等)【代码】

This page定义了“类或结构可能包含的成员的种类”的列表.但是“会员类型”是否有更简洁或专业的术语?会员好吗? 会员类型? 换句话说,假设您具有以下声明:private string name;您如何完成下表?Name = name Type = string Scope = private ? = field解决方法:有一个抽象的基类MemberInfo定义了大多数这些术语.例如.有一个MemberType,它指示成员是constructor、method、event、property还是其他. 此外,某些派生类也具有某种...

c#后台修改前台DOM的css属性示例代码

<div id = 'div1' runat="server">haha</div> ----------- 后台代码中这样调用 div1.Style["display"]="inline"; 注意,c#中要用双引号。 using System.Web.UI.WebControls;得引入这个命名空间 Style["background-image"] ="url(images/bg_active.jpg)";等等

C#反射(Reflection)对类的属性get或set值实现思路

近段时间,有朋友叫Insus了解一下反射(Reflection)方面的知识,反射提供了封装程序集、模块和类型的对象(Type类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。 下面的例子,是Insus练习对一个类别的属性进行set和get值。 首先写一个类,再写一个可读写的属性: 代码如下:using System; using System.Coll...

c#设置xml内容不换行及属性xsi:nil=true的空节点添加

1.设置生成xml的内容格式为不换行 默认用下面代码创建并生成xml的代码如下: 代码如下:XmlDocument doc = new XmlDocument(); //这里为创建节点等代码,省略.... //保存 doc.Save(filename); 结果生成的节点有换行: <UserName> </UserName> 这样的话会导致xsd中如果有验证会通不过,要想不换行,doc.Save(filename);可以改为: 代码如下:using (XmlTextWriter xtw = new XmlTextWriter(filename, null)) { //None表示不应用特殊...

C#数据绑定控件中的DataSource属性浅谈

有的时候,你在编程进入一定阶段,进一步提升很困难的境况之下,不妨回过头来看看基础的东西,或许你会有新的受益,或许能够真正的体会到孔夫子所谓的“温故而知新”的真正内涵。常用的C#数据绑定控件有:Repeater、DataList、GridView、DetailsView等,在这里我拿Repeater来简单说明问题。使用该属性指定用来填充Repeater控件的数据源。DataSource可以是任何System.Collections.IEnumerable对象,如用于访问数据库的System.Data.Da...

C#反射技术的简单操作(读取和设置类的属性)

要想对一个类型实例的属性或字段进行动态赋值或取值,首先得得到这个实例或类型的Type,微软已经为我们提供了足够多的方法。 首先建立一个测试的类 代码如下:public class MyClass { public int one { set; get; } public int two { set; get; } public int five { set; get; } public int three { set; get; } public int four { set; get; } } 然后编写反射该类的代码 代码如下:MyClass obj = new MyClass(); Type t = typeof(...