将一个对象值传递给另一个对象

本文关键字:一个对象 值传 | 更新日期: 2023-09-27 17:54:21

如何将一个对象值传递给需要相同值的另一个对象例如:如果我有

Contact contact = new Contact();
Scheduler scheduler = new Scheduler();

调用一个方法来获取所有的联系信息,现在我有了联系人。id可用

调度程序方法,它期望一个personId,它是contact.id不做scheduler.personId = contact.id并将值传递给LoadScheduler,正确的方法是什么?thx

private void LoadSchedule(Scheduler scheduler)
{
...
}

将一个对象值传递给另一个对象

你这样做并没有错。

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()一旦你有了正确的实例。所有这些都没有错,但取决于您需要逻辑所在的类/层。在不了解领域的情况下,很难说哪个是最好的。把任务交给合适的类。为了更好地帮助我们,告诉我们为什么你认为你的方法是错误的?