访问属性而不创建新的空实例
本文关键字:实例 创建 属性 访问 | 更新日期: 2023-09-27 18:13:56
我有一个类p作为命名空间D的一部分,具有几个字段和相关属性
namespace Driver
[Export(typeof (P))]
public class Pilot : Send
{
private bool _b1;
...
public bool B1
{
get { return _b1; }
private set
{
if (_b1 != value)
{
_b1 = value;
NotifyOfPropertyChange(() => B1);
}
}
}
然后在相同的命名空间中的另一个类带有一些方法
namespace Driver
public class PilotEng
{
public void Statistics()
{
....
}
public void Running()
{
....
}
在类PE方法中访问和使用类p参数的最佳方式是什么?
PilotEng
访问Pilot
信息的方式有很多。
Pilot
在PilotEng
结构中的通过:
public class PilotEng
{
private Pilot myPilot;
public PilotEng(Pilot pilot)
{
myPilot = pilot;
}
public void Statistics()
{
var whatever = myPilot.B1;
....
}
public void Running()
{
....
}
}
其他地方…
public void SomeMethod()
{
Pilot p = new Pilot();
PilotEng pe = new PilotEng(p);
pe.Statistics();
}
更新你的方法签名,以接受一个要使用的pilot实例:
public class PilotEng
{
public void Statistics(Pilot pilot)
{
var whatever = pilot.B1;
....
}
public void Running()
{
....
}
}
其他地方…
public void SomeMethod()
{
Pilot p = new Pilot();
PilotEng pe = new PilotEng();
pe.Statistics(p);
}
都是有效的,一个可能比另一个更有效,还有其他几种方法可以实现这一点。这完全取决于你想要做什么