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#中实现相同的功能?
而且我该如何像以下C++代码那样引用int
变量:
int A = 5;
int& B = A;
B = 12;
更新: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# 感到非常失望!
ref
关键字,也请忘记你在C ++中学到的内容(除了所有OOP内容和多继承)。 - Steve BConfigurationService.ApplicationSettings.rect1
结构体创建一个简短的别名? - ezpressoConfigurationService.ApplicationSettings.rect1
是一个公共字段,而不是属性。 - ezpresso