Я хотел бы сократить выражение какКак использовать ссылки на переменную в C#
this.GdkWindow.GetPosition(ConfigurationService.ApplicationSettings.rect1.X,
ConfigurationService.ApplicationSettings.rect1.Y);
к чему-то вроде this.GdkWindow.GetPosition(refRect1.X, refRect1.Y)
используя ссылку на ConfigurationService.ApplicationSettings.rect1
переменной.
В C++ я могу использовать ссылки на объект (или переменной), как это:
Rect& refRect1 = very.very2.very3.long_variable.rect1;
GetPosition(refRect1.x, refRect1.y);
Как я могу сделать то же самое в C#?
И как я могу сделать ссылку на переменную int
как следующий C++ код делает:
int A = 5;
int& B = A;
B = 12;
Update: Метод GetPosition
объявлен void GetPosition(out int x, out int y)
. Этот метод заполняет структуру ConfigurationService.ApplicationSettings.rect1
некоторыми данными. Вот почему я хотел бы использовать ссылку.
Я знаю, что могу сделать что-то вроде:
var rect = new Gdk.Rectangle();
this.GdkWindow.GetPosition(out rect.X, out rect.Y);
this.GdkWindow.GetSize(out rect.Width, out rect.Height);
ConfigurationService.ApplicationSettings.rect1 = rect;
но есть способ, чтобы избежать использования временной переменной? Является ли C# отсутствием функции даже PHP? Абсолютно разочарован в C#!
если вы хотите создать ссылка на int, вы не думаете, что это удалось. Даже если есть ключевое слово 'ref', забыли, что вы изучили с помощью C++ (за исключением всех элементов OOP минус множественное наследование) –
Я просто хочу сократить код. Есть ли способ сделать короткий псевдоним имени для 'ConfigurationService.ApplicationSettings.rect1' struct? – ezpresso
Почему вы даже хотите ссылку на него? Просто поставьте вещь в переменную .. – harold