はいくつかのコードです:外部クラスの内部クラスからプロパティにアクセスするには?ここ
public class TimerEventArgs : EventArgs
{
public Timer Timer { get; }
public ClockTimer.TimerTimes Times { get; }
public DateTime? RunTime { get; }
public TimerEventArgs(Timer Timer, ClockTimer.TimerTimes Times, DateTime? RunTime)
{
this.Timer = Timer;
this.Times = Times;
this.RunTime = RunTime;
}
}
public class ClockTimer
{
public class TimerTimes
{
public DateTime? Start { get; private set; }
public TimeSpan? RunDuration { get; private set; }
public DateTime? Stop { get; private set; }
public TimerTimes()
: this(null, null, null)
{}
public TimerTimes(DateTime? Start, TimeSpan? RunDuration, DateTime? Stop)
{
this.Start = Start;
this.RunDuration = RunDuration;
this.Stop = Stop;
}
}
:
private TimerTimes m_TimerTimes = null;
:
public virtual void Start()
{
// Start timer if not running.
if (!IsRunning)
{
if (m_Timer == null)
m_Timer = new Timer();
m_Timer.Interval = Interval;
m_Timer.Tick += new EventHandler(InnerTimerHandler);
if (m_TimerTimes == null)
m_TimerTimes = new TimerTimes();
m_TimerTimes.Start = DateTime.Now; //Property Start is inaccesssable!!
m_Timer.Start();
TimerEventArgs EventArgs = new TimerEventArgs(m_Timer, m_TimerTimes);
OnTimerStarted(EventArgs);
}
}
:
}
は外部クラスに内部クラスからプロパティを「設定」、それが外部から設定することができないようにする方法はありますか?外部クラスだけが内部クラスプロパティを設定できる必要があります。
目的を指定できますか?どの物件を意味しますか?サンプルをお願いします – rbr94
行:m_TimerTimes.Start = DateTime.Now; – Ron
あなたのコードは非常に不完全で、実際のサンプルとしてコピー&ペーストできません。そして、それは問題のために多くのノイズを含んでいます – grek40