在方法中使用发送 属性

Use sending property in method

我有一个小问题,我确定它已得到解答,但我不确定要寻找什么。

我有以下代码:

hotel = MatchHotelFromList(lst, hotel);

我的方法在哪里:

private Hotel MatchHotelFromList(List<Hotel> lst, Hotel hotel)
    {
       // do some stuff --> find a specific hotel in list, using 'hotel'
       // returns a specific hotel object.
    }

我想做同样的事情,但使用的方法没有发送 'hotel' :

 hotel = MatchHotelFromList(lst);

我可以在方法中使用 'hotel' 中的值吗? (喜欢this.HotelName?)

不,该方法无法访问将其结果分配给的变量的值。

考虑到除了将其分配给变量之外,还可以用该方法的结果完成各种各样的事情,这应该不会让人感到震惊。

如果方法的结果被忽略怎么办?如果它作为参数传递给另一个方法怎么办?如果它被分配给一个集合 属性 怎么办?如果它被分配给一个未初始化的变量怎么办?我可以继续,但我希望你能理解。

现在您可以在不发送 'hotel' 对象的情况下使用该方法

   private Hotel MatchHotelFromList(List<Hotel> lst)
    {
       // do some stuff --> find a specific hotel in list, using 'hotel'
       // returns a specific hotel object.
    }

不,您不能使用上述方法访问酒店对象数据或属性

如果您不想作为参数传递,那么声明一个酒店对象字段,您现在可以访问酒店对象

Private Hotel hotel; 

private Hotel MatchHotelFromList(List<Hotel> lst)
{
   // do some stuff --> find a specific hotel in list, using 'hotel'
   // returns a specific hotel object.


}

Method overloading