我正在MVVM中进行编码,并且具有Calculation类。在此Calc类内部,我有不同的静态Memberfunction,每个函数都会计算一部分计算量。
例如: 内部Calc类:
成员功能之一:
public static double CalcTimeJerkAcc(double limitedAcceleration, double maxJerk)
{
return (limitedAcceleration / maxJerk);
}
我使用timeJerkAcc的另一个Memberfunction:
public static double CalcCalculation(double timeJerkAcc, ...) { ... }
现在我想将这些计算实现为模型:
public double PositioningTime
{
get
{
return CalcClassObject.CalcCalculation(CalcClassObject.timeJerkAcc, ...);
}
}
我如何从Calc类访问私有变量(例如“ timeJerkAcc”),尽管它们是静态的?
我在CalcClassObject.timeJerkAcc
的传输参数中使用CalcClassObject.CalcCalculation(...)
的方法显然是错误的。
我被卡住了。有人可以帮我解决这个问题吗?我对C#相当陌生,希望这不是一个愚蠢的问题...
很难很好地描述我的问题,但我希望有人能理解我的工作。
答案 0 :(得分:0)
我不确定我是否理解正确,但是您想创建一个调用静态方法和变量的模型。
因此,我创建了一个小片段,希望对您有所帮助:
这是主要班级:
class Solution
{
static void Main(string[] args)
{
MyModel model = new MyModel();
Console.WriteLine(model.PositioningTime);
Console.ReadLine();
}
}
和Calculation类:
public class Calculation
{
public static double timeJerkAcc = 12;
public static double maxJerk = 30;
public static double CalcTimeJerkAcc(double limitedAcceleration, double maxJerk)
{
return limitedAcceleration / maxJerk;
}
public static double CalcCalculation(double timeJerkAcc, double temp)
{
return timeJerkAcc / temp;
}
}
最后是Model类:
public class MyModel
{
public double PositioningTime
{
get
{
return Calculation.CalcCalculation(Calculation.timeJerkAcc,Calculation.maxJerk);
}
}
}
要调用当前类之外的静态变量或方法,必须将它们设置为 public 。
希望这对您有帮助,如果没有帮助,请尝试用更多详细信息解释您的问题,
致谢。