gpt4 book ai didi

c# - c# 类中属性的最佳语法

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:16 26 4
gpt4 key购买 nike

我是 C# 编程新手。我正在构建一些类(class)并在教程中查找不同的示例。我还相信,为了让 WPF 表单显示正确的值,您需要实现 INotify。

所以我猜我的问题分为两个部分。我真的需要通知和一个在属性更改时触发的自定义方法吗?

这是定义我的类的最佳系统吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;

namespace LakesideQTS
{
public class Machine : BaseModel, IDataErrorInfo
{
private int _MachineID;
private string _Description;

public int MachineID
{
get { return _MachineID; }
set { _MachineID = value; OnPropertyChanged1("MachineID"); }
}
public string Description
{
get { return _Description; }
set { _Description = value; OnPropertyChanged1("Description"); }
}
}
}

看起来像是打了很多字,而且又长又乱。有没有办法用更新的语法样式调用 OnPropertyChanged1()?像这样:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;

namespace LakesideQTS
{
public class Machine : BaseModel, IDataErrorInfo
{

public int MachineID {get;set; OnPropertyChanged1("MachineID");}
public string Description {get;set; OnPropertyChanged1("MachineID");)}
}
}

感谢你们提供的任何帮助!

最佳答案

不,没有办法。

您要么拥有这样的准系统属性:

public int MachineID { get; set; }

或者您拥有带有显式支持字段的完整属性:

private int _MachineID;
public int MachineID
{
get { return _MachineID; }
set
{
_MachineID = value;
OnNotifyPropertyChanged("MachineID");
}
}

只有后一种语法可以让您做的不仅仅是存储值。

关于c# - c# 类中属性的最佳语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31613080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com