C# 初始化时更新抽象类中的变量
因此,在开始时,我喜欢设置一些变量,稍后将使用这些变量。我正在构建一些图形移动部件,在这里我必须为每个移动设置步数(如果X变为1,那么值变为1*Step…bla-bla) 我有MainWindowViewModel(短版本): DiagramObject类:C# 初始化时更新抽象类中的变量,c#,wpf,abstract-class,C#,Wpf,Abstract Class,因此,在开始时,我喜欢设置一些变量,稍后将使用这些变量。我正在构建一些图形移动部件,在这里我必须为每个移动设置步数(如果X变为1,那么值变为1*Step…bla-bla) 我有MainWindowViewModel(短版本): DiagramObject类: public abstract class DiagramObject : ViewModelBase { public abstract double X { get; set; } public abst
public abstract class DiagramObject : ViewModelBase
{
public abstract double X { get; set; }
public abstract string Xmeaning { get; set; }
public abstract double Y { get; set; }
public abstract string Ymeaning { get; set; }
}
因此,我在其中定义了“步骤”:
我的问题是如何在程序开始时从MainWindowViewModel更新DiagramNode类中的“xstep”、“ystep”和其他步骤
因此,当我开始程序时,步骤将被定义并更新为DiagramNode类-现在我已经在类中定义了direct
我希望我能给出足够的代码来理解这个概念(如果没有这样说的话)。如果有任何问题,请询问。您的MainWindowViewModel需要实例化DiagramNode类的实例,以便可以访问属性来修改它们
public class MainWindowViewModel : ViewModelBase
{
DiagramNode myDiagramNode = new DiagramNode();
public MainWindowViewModel()
{
// Initialization
Step = 3;
myDiagramNode.xstep = 3;
}
}
但是,通常情况下,更好的做法是将xstep和ystep等变量设置为私有,并使用能够处理值的设置/获取的访问器,如下所示
public class DiagramNode : DiagramObject
{
private int xstep;
public int XStep
{
get { return this.xstep; }
set { this.xstep = value; }
}
...
}
public class MainWindowViewModel : ViewModelBase
{
DiagramNode myDiagramNode = new DiagramNode();
public MainWindowViewModel()
{
myDiagramNode.XStep = 3;
}
}
您可以通过构造函数重载来设置它们
公共类DiagramNode(int-xstep,int-ystep)
{
//设定你的价值观
}
public class MainWindowViewModel : ViewModelBase
{
DiagramNode myDiagramNode = new DiagramNode();
public MainWindowViewModel()
{
// Initialization
Step = 3;
myDiagramNode.xstep = 3;
}
}
public class DiagramNode : DiagramObject
{
private int xstep;
public int XStep
{
get { return this.xstep; }
set { this.xstep = value; }
}
...
}
public class MainWindowViewModel : ViewModelBase
{
DiagramNode myDiagramNode = new DiagramNode();
public MainWindowViewModel()
{
myDiagramNode.XStep = 3;
}
}