あなたのしていることは間違っていません。
scheduler.personId = contact.id
LoadSchedule(scheduler);
そうでなければ、メソッドにはより良い引数が必要になります..
LoadSchedule(contact.id);
...
private void LoadSchedule(int contactId)
{
}
Scheduler
しかし、そうすると、オブジェクトのすべてのフィールドにアクセスできるわけではありません。でもそれが大事なら..
あるいは:
LoadSchedule(contact);
...
private Scheduler LoadSchedule(Contact contact)
{
Scheduler scheduler = new Scheduler { personId = contact.id };
//load...
return scheduler;
}
または、スケジューラ オブジェクトからスケジュールをロードするための適切なインスタンス メソッド (または拡張メソッド) を用意することもできます。
class Scheduler
{
public void Load()
{
}
}
したがってscheduler.Load()
、適切なインスタンスを取得したら、一度だけ呼び出すことができます..これらはすべて間違っているわけではありませんが、ロジックを配置する必要があるクラス/レイヤーによって異なります.ドメインを知らなければ、どれが最適かを判断するのは困難です. 適切なクラスに仕事を与えてください。より良い支援のために、そもそもあなたのアプローチが間違っていると思う理由を教えてください。