2017-01-06 13 views
-4

Предположим, у меня есть вызов функции functA() и еще одна вспомогательная функция, называемая HelperFunc().Вызов функции в другой функции с использованием того же полученного параметра

public void functA(int i, Obj a) 
{ 
    HelperFunc(a); 
} 

public void HelperFunc(Obj a) 
{ 
    //do something with Obj a 
} 

Могу ли я передать параметр, полученный functA() к HelperFunc(), как указано выше? Если да, то это хорошая практика или есть другие хорошие альтернативы?

+1

да вы можете. это хорошая практика? может быть. не могу сказать, не имея контекста. –

+0

Вспомогательные функции обычно статичны. и private для класса (если он принадлежит только этому классу). или статической публики в другом статическом классе (если его значение используется глобально). –

+0

@ M.kazemAkhgary Почему бы вспомогательная функция была статической? То, что функция используется исключительно другой функцией, не влияет на ее статичность или нет. Это статично, если ему не нужны члены экземпляра, и это метод экземпляра, если он это делает. Естественно, что это было бы частным, было бы очень важно, чтобы это было вспомогательной функцией; он является открытым, что он полезен вне контекста другой функции. – Servy

ответ

0

Вы уверены, что можете!

«Хорошая практика» будет зависеть от ситуации и почему вы ее передаете. Иногда это абсолютно необходимо.

0

Да, это работает нормально. Да, это обычная практика. Нам нужен более эффективный контекст ситуации, чтобы придумать лучшие альтернативы.

Если это помогает вашему пониманию, помните, что ваш «Основной» также является просто функцией, и вы можете, конечно, передать параметры из Main в другие функции.

+0

Спасибо, ребята, за отзыв! – Pow4Pow5