Default array-property |
Top Previous Next |
What is translated > Properties > Default array-property
If a class has a default property, you can access that property in Delphi with the abbreviation object[index], which is equivalent to object.property[index]. C# has an analogue indexer notation which Delphi2C# uses to translate default array-properties
type // Class with Indexed properties TRectangle = class private fCoords: array[0..3] of Longint; function GetCoord(Index: Integer): Longint; procedure SetCoord(Index: Integer; Value: Longint); public property Coords[Index: Integer] : Longint read GetCoord write SetCoord; Default; end;
->
private class TRectangle : TObject { private int[] fCoords = new int[4/*# range 0.. 3*/];
//# private int GetCoord(int Index);
//# private void SetCoord(int Index, int Value); /*property Coords [Index: integer]: int read GetCoord write SetCoord default ;*/ public int ReadPropertyCoords(int Index) { return GetCoord(Index);} public void WritePropertyCoords(int Index, int Value){SetCoord(Index, Value);} public int this[int Index] { get { return GetCoord(Index); } set { SetCoord(Index, value); } }
public TRectangle() {} };
In addition Delphi2C# creates the same ReadProperty and WriteProperty methods as for non default indexed properties. The existence of these additional methods makes it easier translate calls to indexed properties in a general way. |
This page belongs to the Delphi2C# Documentation |
Delphi2C# home Content |