在方法中使用发送属性

时间:2015-01-29 17:46:16

标签: c# methods properties

我有一个小问题,我确信它已得到解答,但我不知道该找什么。

我有以下代码:

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'中的值吗? (像这样。酒店名称?)

2 个答案:

答案 0 :(得分:1)

不,该方法无法访问其结果被赋值的变量值。

鉴于方法的结果除了将其分配给变量之外,还有各种各样的事情可以完成,这不应该是一个震撼。

如果忽略该方法的结果怎么办?如果它作为参数传递给另一个方法怎么办?如果将其分配给仅限制的属性,该怎么办?如果将它分配给未初始化的变量怎么办?我可以继续,但我希望你明白这一点。

答案 1 :(得分:0)

现在您可以使用该方法而无需发送“酒店”对象

   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