我有一个愚蠢的问题,我可能会以错误的方式解决这个问题。
我想在类中添加一个属性来更改字段。我认为由于Class级别的保护,这是不可能的。
SEE:Microsoft.SPOT.Hardware.PWM我希望我的代码修改此类。
我想更改布尔值:
bool invert;
在班级的初始化中:
PWM pwm = new PWM(Cpu.PWMChannel.PWM_4, 10, 0.5, true);
我希望能够访问true变量并进行修改。随意,这不是创建新实例。
我试过了:
public partial class PWM : Microsoft.SPOT.Hardware.PWM
{
private static bool invert;
protected static bool Invert
{
get { return invert; }
set { invert = value; }
}
}
我认为这是一个失败,任何人都有任何想法将此作为财产公开?
答案 0 :(得分:1)
protected
修饰符表示只能从类或子类中访问该字段。
如果要公开该字段,请使用public:
private static bool _invert;
public static bool Invert{
get { return _invert; }
set { _invert = value; }
}
}
答案 1 :(得分:1)
您的问题不是很清楚 - 您是否在课堂上询问如何使课堂字段可见?
如果是这样,您可以通过您已经完成的属性公开它:
public static int PropertyName
{
get
{
return this._PropertyName;
}
set
{
this._PropertyName = value;
}
}
/// <summary>
/// privatefield for PropertyName
/// </summary>
private static int _PropertyName;
或者您可以简单地将该字段声明为公共字段。我会一直使用该属性,因此我可以控制什么值以及在什么条件下可以设置值。
基类的替代方法:
public Microsoft.SPOT.Hardware.PWM PWM {get;set;}
public bool PwmBool
{
get
{
return false;
}
set
{
this.PWM = new PWM(Cpu.PWMChannel.PWM_4, 10, 0.5, value);
}
}