Страница 1 из 1

Передача параметра

СообщениеДобавлено: 09 апр 2020, 12:56
Andry62324
День добрый!!! Подскажите кто знает или где подсмотреть.

Можно ли передать в метод "method(float i)" свойство объекта "go.GetComponent<CanvasGroup>().alpha" как параметр не используя промежуточные переменные?

Re: Передача параметра

СообщениеДобавлено: 09 апр 2020, 13:22
Tolking
"method(go.GetComponent<CanvasGroup>().alpha)" ?

Re: Передача параметра

СообщениеДобавлено: 09 апр 2020, 14:43
Andry62324
Tolking писал(а):"method(go.GetComponent<CanvasGroup>().alpha)" ?


Так передаётся само значение, а хотелось бы получить ссылку на на значение чтоб его менять, с ref нельзя передать.

Re: Передача параметра

СообщениеДобавлено: 09 апр 2020, 15:12
Tolking
Это называется передать параметр по ссылке. И в такой метод method(float i) нельзя передать параметр по ссылке ибо в нем прописано, что в него передается параметр по значению. https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/ref

Re: Передача параметра

СообщениеДобавлено: 09 апр 2020, 15:47
1max1
Передай туда CanvasGroup, а уже в методе меняй альфу.

Re: Передача параметра

СообщениеДобавлено: 09 апр 2020, 16:00
Andry62324
Tolking писал(а):Это называется передать параметр по ссылке. И в такой метод method(float i) нельзя передать параметр по ссылке ибо в нем прописано, что в него передается параметр по значению. https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/ref


Про ref я знаю. Суть вопроса в другом, возможно ли передать свойство компонента объекта как ссылку на свойство, дабы не передавать весь объект.
Есть ли такой способ?
private void aaa(ref float i) { }
aaa(ref GetComponent<CanvasGroup>().alpha); Ошибка "Свойство или индексатор не могут передаваться как параметр out или ref "

Re: Передача параметра

СообщениеДобавлено: 09 апр 2020, 16:15
1max1
Свойство так не передается, се ля ви...