【c# – 属性不可观察时绑定】教程文章相关的互联网学习教程文章

c# – 属性名称中的特殊字符【代码】

在我的应用程序中,webservice将返回一个json{"UserDetails": [{"UserId": "57","EmailId": "prasant@xyz.com","UserName": "Prasant","TimezoneMins": "330","CustomLogo": "","IsExecutive": "True","HasNTID": "1","Org_Id": "1","Org_Name": "Summit","Designation": null,"Location": null,"Location_Name": "","WsVersion": "V5.1.0","CallMe": "FALSE","GPS": "FALSE","Feedback_IM&SR": "NULL","RPT_Widgets_Access": "Fals...

c# – 如何概括属性模式【代码】

我有一些类具有多个属性,这些属性具有明确定义的名称和功能,但具有相同的实现.例如:class Stats {private int attack;public int Attack{get =>HasBuff ? attack + 1 : attack;set{if (value < 1 || value > 10)throw new ArgumentOutOfRangeException("Invalid value");attack = value;}}public int Defense {...}public int Speed {...} }防御和速度的实施就像攻击一样.如何概括此结构以避免冗余并使更改更容易?解决方法:创建另...

c# – LINQ组由多个属性和创建字典组成【代码】

我有一个名为ScrewBoltPattern的类的对象列表. 我想创建一个字典,其中包含每个ScrewBoltPattern系列的外观数量.为了确定一个螺丝是否属于一个家庭我使用该类的一些属性. 为简化此查询,假设我使用属性Length和Diameter. 我想创建一个字典,其键的格式类似于screw.Length“_”screw.Diameter 我怎么能得到这个? 这就是我到目前为止所做的Dictionary<string, int> boltFamilyList = selectedBolts.GroupBy(bolt => new { bolt.Length,...

c# – 属性总是不可变的吗?【代码】

我在使用类成员的自动生成属性时遇到问题.在类上调用方法应该更新属性,但它似乎不起作用. 我正在更新一些旧的C#代码,VS2017告诉我一些重构技巧,例如,私有成员手动提供属性到自动生成的属性. 只需点击几下,VS就可以轻松完成,而且一切都很好.问题是代码不像以前那样工作. 请考虑以下简化代码示例:using System;public class Program {struct A{public A(int x) : this(){X = x;}public int X { get; private set; }public void ...

c# – WPF INotifyPropertyChanged没有更新数组属性?【代码】

我创建了一个小例子来演示我遇到的问题. 我的班级第一名:public class DisplayRow : INotifyPropertyChanged {public event PropertyChangedEventHandler PropertyChanged;private int?[] values;private string title;public string Title{get { return title; }set{title = value;if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("Title"));}}public int?[] Values{get { return values; }se...

c# – InvokeRequired属性的vaIue何时发生变化?

当我想在Windows窗体工作时使用委托类进行调用时,我总是必须使用InvokeRequired.没关系.但是谁在工作时更改了InvokeReuqired属性.请检查此图片:解决方法:你在button1_Click中调用Delegate.BeginInvoke,这意味着将在一个线程池线程中调用SayListeyeEkle – 这意味着InvokeRequired为true是完全正确的.如果你直接从UI线程中的button1_Click调用ListeyeEkle,那就不是真的了.

c# – 静态字段/属性初始化【代码】

如果我有这样的类型:public struct Effect {public int Value { get; set; }public static int MinValue = Int32.MinValue; }MinValue只会初始化为ONCE,就像执行静态构造函数一样吗?或者我应该在静态构造函数中初始化MinValue? 这会对班级有什么不同吗?解决方法:它将被执行一次,但不完全像在静态构造函数中.关于何时执行类型初始化程序的规则是different when a type has a static constructor.请注意观察到的行为changed a bi...

我们在C#中获取属性时是否需要锁定?

在C#中,获取非易失性属性时是否需要锁定?我知道在设置属性时我们需要锁定.怎么样? 现在3.0提供自动属性,它本身是线程安全吗?解决方法:不,automatic properties不是线程安全的.它们只不过是语法糖;编译器会自动生成私有支持字段,就像您手动编写它们一样. 但是,除非您的应用程序从多个线程访问属性,否则没有理由担心这一点.如果你的应用程序是多线程的,很难从你的问题中得知.

C#如何在匿名对象初始化时设置只读属性

在C#中,对象初始值设定项可以设置公共非只读字段和属性. 但是,对于匿名类型,属性是只读的.那么.NET如何在对象初始化上设置它们呢?解决方法:匿名类型的对象初始值设定项的行为与普通对象初始值设定项不同.即它不直接设置属性.它被转换为对构造函数的调用,该构造函数可以更改只读字段.

c# – 不同属性的通用foreach循环【代码】

我试图使用foreach循环的泛型方法,它将传递不同的参数作为参数. 在下面的这个例子中,我想传递不同的参数(EmployeeDisplayOrder或EmployeeEnrollOrder)public void SaveEmployeeDisplayOrder(ICollection<Employee> employees) {//some codeforeach( var emp in employees){UpdateSpecificEmployeeOrder(employee.id, e => e.EmployeeDisplayOrder);} }public void SaveEmployeeEnrollOrder(ICollection<Employee> employees) {//so...

c# – 为什么不同的实例具有相同的依赖属性值?【代码】

当我尝试在WPF / .NET 3.5中开发自定义控件时出现严重问题. 细节 1.当我在同一个窗口中添加两个实例时,看起来第二个将始终具有第一个依赖属性值,即使test2只是在不应用模板的情况下构造(例如:tes2.TopItems / CenterItems / BottomItems是相同的使用tes1包括Count,Items …). 2.当我删除其中任何一个时,它会好的. 3. TopItems / CenterItems / BottomItems在OnApplyTemplate()中初始化. 4.更改属性“Calendar”和“CalendarViewTy...

c# – 自定义授权属性不工作的asp.net【代码】

在我的c#app中,我添加了这样的自定义属性public class CheckLogIn : AuthorizeAttribute {protected override bool AuthorizeCore(HttpContextBase httpContext){if (!httpContext.Request.IsAuthenticated)return false;return (Auth.UserLoggedIn || Auth.AdminLoggedIn);} }我这样称呼这个属性[CheckLogIn] public dynamic Create(String projectName, String organizationId) {Project pro = Project.Create(organizationId, p...

c# – 为什么使用`Checked`属性会导致奇怪的错误,事件只能发生在=或 – =的右边?【代码】

我正在使用WPF应用程序上的c#.我编写了以下代码public partial class MainWindow : Window {public MainWindow(){RadioButton daw;InitializeComponent();if (qoneone.Checked == true){MessageBox.Show("Correct");}}出现错误event qoneone.Checked can only appear on left hand side of += or -=解决方法:您正在访问qoneone的错误成员. 相反,你必须检查布尔属性qoneone.IsChecked == true. IsChecked是一个属性,您可以读取或写入...

c# – 为什么对于int属性,IsValueType为false?【代码】

再见, 我对这个问题很沮丧,我创建了一个简单的类,如下所示:public class Classe {public int Intero { get; set; }public Int32 Intero32 { get; set; }public double Double { get; set; }public string Stringa { get; set; }public Classe PerReferenza { get; set; } }我编写了这个扩展方法,其目标是返回属性的引用默认值(引用的类型或值类型):public static class TypeExtensions {public static object GetDefaultValue(th...

c# – 初始化属性的良好做法?【代码】

我有一个类属性,它是一个字符串列表,List.有时此属性为null或者如果已设置但列表为空,则count为0.然而,在我的代码中的其他地方,我需要检查是否已设置此属性,因此当前我的代码检查它是否为null并且count为0,这看起来很混乱.if(objectA.folders is null) {if(objectA.folders.count == 0){// do something} }有关如何处理此事的任何建议?也许我应该总是初始化属性,以便它永远不会为空?解决方法:当我将List作为属性时,我通常会看到如...