【c# – WPF绑定问题 – UI更新,对象不】教程文章相关的互联网学习教程文章

c#-使对象在运行时可序列化

有没有办法在运行时使对象可序列化?我应该使用反射吗? 注意:该对象是外部库的一部分,因此我没有源代码.解决方法:tl; dr-号 尽管可以在运行时使用TypeDescriptor向任何内容添加属性,但是在Serializable属性的上下文中,这无济于事,因为BinaryFormatter使用经典反射而不是TypeDesciptor反射. 该属性背后的想法是让可序列化的类选择可序列化.有关此here的更多详细信息.

在C#中记录对象的所有属性.如何记录内部对象的属性呢?【代码】

我试图(1)记录对象的所有属性,以及(2)内特定对象类型的所有属性.我可以做(1)但不能做(2). 现在就是这种情况.foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(object1)) {string name = descriptor.Name;object value = descriptor.GetValue(object1);logger.Debug(String.Format("{0} = {1}", name, value)); }我需要的是这样的:foreach (PropertyDescriptor descriptor in TypeDescriptor.GetPropertie...

我可以在C#中获取变量或对象的物理地址吗?【代码】

我应该在C#中做一个项目,以介绍列表的工作方式. 我认为在这样的图形界面中显示是一个好主意: -在“值”字段中:节点的值-在“下一个”字段中:下一个节点的物理地址 这可能吗?解决方法:是的,使用不安全的代码(至少是虚拟地址,而不是原始物理内存地址,但这就是您想要的). 详情请看MSDN: How to: Obtain the Address of a Variable (C# Programming Guide).它指导您编译以下示例(需要在项目属性或/ unsafe开关中启用不安全代码),以...

在C#中将对象列表转换为字节数组【代码】

我有这个结构定义:public struct ChangedByte {public byte R;public byte G;public byte B;public int x;public int y; }我创建了一个:List<ChangedByte> testme = new List<ChangedByte>();(以及添加的项目) 我将其转换为数组:ChangedByte[] alpha = testme.ToArray();我有一个类似的关于SO的问题找到的函数:byte[] StructureToByteArray(object obj) {int len = Marshal.SizeOf(obj);byte[] arr = new byte[len];IntPtr ptr...

c#-将用户输入从文本框绑定到对象集合,并通过MVVM中的组合框填充【代码】

我对WPF和MVVM还是比较陌生,但是到目前为止,我找不到这种双向绑定方案的方法.我还应该提到,这不是一个学校项目,而是我自己对学习MVVM各个方面的兴趣,这是我自己的利益. 我的视图包含一个带有文本框的窗口,用于收集用户输入(学校名称,学校地址,学校电话等).视图还具有一个添加按钮,该按钮应保存来自文本框的输入,创建一个School对象,然后填充一个ComboBox(带有学校名称).因此,每当用户单击“添加”按钮时,新学校就会出现在“组合框”...

具有内部泛型的C#转换对象【代码】

我正在尝试将具有泛型的具体类转换为其接口并出现错误.我不确定我缺少什么.我需要使它们成为普通类型.Unable to cast object of type ‘HierarchalLocationFilterSet’ to type ‘ImAFilterSet`1[ModelBase]’.一切都可以编译并运行,我似乎无法执行以下操作.ImAFilterSet<IModelBase> c = new HierarchalLocationFilterSet()我可以走一半var thisWorks = c as FilterSetBase<LocationModel>; var thisAlsoWorks = c as ImAFilterSe...

C#-Json.net:通过对象ID合并两个json数组【代码】

例如,我想通过对象id来破坏json数组.假设我有这个json数组:[{"Id":"1", "a":"1", "b":"2"},{"Id":"2", "a":"3", "b":"1"},{"Id":"3", "a":"5", "b":"1"}]我想用这个数组来Upsert[{"Id":"1", "a":"32", "b":"42"},{"Id":"2", "a":"3", "b":"1", "c":"23"},{"Id":"12", "a":"12", "b":"45"}]预期结果应为:[{"Id":"1", "a":"32", "b":"42"},{"Id":"2", "a":"3", "b":"1", "c":"23"},{"Id":"3", "a":"5", "b":"1"},{"Id":"12", "a":"...

将对象值保持在XML序列化和反序列化(C#)之间【代码】

我有一个要尝试使用XMLSerializer进行序列化和反序列化的类.该类如下所示:namespace AutoCAD_Adapter {/// <summary>/// Test class meant to be serialized to test serialization methods/// </summary>[Serializable]public class SerializeTest// : ISerializable{#region class variablesprivate int x;private int y;#endregion#region Constructorspublic SerializeTest(int passedX, int passedY){this.x = passedX;this....

如何将Json字符串转换为c#类对象?【代码】

我已经在Controller中收到json字符串,现在我想将该字符串映射到C#类对象我怎样才能做到这一点? JSON:[{“PdID”:null,”StName”:”435″,”DOB”:”2015-05-02T17:09:35.974Z”,”Gender”:”5435″},{“PdID”:null,”StName”:”4343″,”DOB”:”2015-05-02T17:09:35.974Z”,”Gender”:”4345″}]`我的课:public class PersonDetail {public int PdID { get; set; }public int PolicyPurchesID { get; set; }public string...

c#-如果在加载引用和对其调用函数之间的线程之间更改了易失性引用,可以对旧对象进行垃圾回收吗?【代码】

我有两个线程执行以下代码:static volatile Something foo;void update() {newFoo = new Something();foo = newFoo; }void invoke() {foo.Bar(); }线程A执行更新,线程B执行调用.这两个线程的时间安排如下:invoke加载foo的地址,update覆盖foo,然后在调用Bar之前进行垃圾回收. 垃圾回收是否有可能收集foo引用的旧对象,从而导致Bar在已收集的某些内存上被调用? 请注意,这个问题主要是出于好奇.我也希望获得更好的头衔.解决方法:垃圾...

从C#中的Assembly.LoadFrom()返回对象【代码】

我正在尝试为正在开发的这款游戏进行扩展设置(不做详细介绍),但是单个扩展所需要做的只是将1 .dll文件添加到我添加的Expansions文件夹中. 我已经弄清楚了如何访问添加到此文件夹中的这些.dll,如下所示:Assembly ExpAssembly = Assembly.LoadFrom("Expansions/Intrique.dll"); Type myType = ExpAssembly.GetTypes()[0];这是我要加载的类的示例:public class Expansion: MyGame.Expansion {public Expansion() {//Stuff}public st...

c#-仅序列化对象的更改属性【代码】

在C#中是否可以仅使用修改后的值来序列化对象? 例如:我将Button对象的实例绑定到PropertyGrid中,并且只想使用更改后的属性序列化Button对象.在C#中,最好的存档方法是什么?解决方法:您可以通过反射来迭代对象的属性,将其属性与“新”??实例进行比较,并以某种方式写下差异.但是,如果您选择该路径,则应该解决许多问题,例如空处理,序列化不可序列化的类型,序列化引用等.这只是一个草图:public static string ChangedPropertiesToXm...

C#-RowHeaderTemplateSelector对象参数为null【代码】

嗨,我正在使用WpfToolKit DataGrid并想根据项目类型动态设置RowHeaderTemplate,在我的代码中object参数始终为null这是我的代码 a<DataTemplate x:Key="WithCheckBox"><Grid><CheckBox IsChecked="{Binding Path=IsSelected, Mode=TwoWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type wpftk:DataGridRow}}}"/></Grid></DataTemplate><viewModel:CheckBoxRowDataTemplate x:Key="CheckBoxRowDataTemplate"/>...

C#-按列表中对象的属性排序【代码】

因此,我正在尝试制作此控制台程序,您可以在其中为特定的书添加评论和评分.某些评论也可以被赞成. 这是我的Comment.csclass Comment {#region stateprivate readonly string name;private readonly string commentary;private readonly uint rating;private uint votes;#endregion state#region constructorpublic Comment(string name , string commentary, uint rating){this.name = name;this.commentary = commentary;this.rati...

c#-Unity 3D:游戏对象交互

假设我们有一个第一人称角色和几个NPC AI.第一人称角色应该能够与NPC AI对话(通过对话服务).我的问题是:如何将两个游戏对象(FPC和NPC)彼此“连接”? 因此,他基本上可以走动并与他们交谈,然后他们回答一些事情,并且第一人称角色可以选择一个选项. 我在这里看到几个选项: >在“第一人称角色”中添加一个公共变量.这个公众变量将保存NPC AI. NPC AI和第一人称角色可以通过两个类上的函数相互交谈.>添加一个实现观察者模式的“ Dial...