День добрый.
Помогите чуток с переводом кода на С#.
VCL:
procedure Clone(Src: TSomeObject; var Result : TSomeObject);
var
i: integer;
begin
for i := 0 to Src.Count - 1 do
Result.Items[i] := Src.Items[i];
end;
Здравствуйте, pnb, Вы писали:
pnb>День добрый. pnb>Помогите чуток с переводом кода на С#.
pnb>VCL:
pnb>
pnb>procedure Clone(Src: TSomeObject; var Result : TSomeObject);
pnb>var
pnb> i: integer;
pnb>begin
pnb> for i := 0 to Src.Count - 1 do
pnb> Result.Items[i] := Src.Items[i];
pnb>end;
pnb>
pnb>Заранее спасибо.
public void Clone( TSomeObject Src, TSomeObject ref Result )
{
for (int i=0; i<Src.Count; i++)
Result.Items[i] = Src.Items[i];
}
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, pnb, Вы писали:
pnb>День добрый. pnb>Помогите чуток с переводом кода на С#.
pnb>VCL:
pnb>
pnb>procedure Clone(Src: TSomeObject; var Result : TSomeObject);
pnb>var
pnb> i: integer;
pnb>begin
pnb> for i := 0 to Src.Count - 1 do
pnb> Result.Items[i] := Src.Items[i];
pnb>end;
pnb>
public void Clone(TSomeObject Src, ref TSomeObject Result);
{
for(int i = 0; i < Src.Count; i++)
Result.Items[i] = Src.Items[i];
}
1. ref — думаю не нужен.
2. Клонирование пройдет если только в Src.Items[i] простые типы.
3. Для клонирования смотрите в строну MemberwiseClone, IClonable
Здравствуйте, pnb, Вы писали:
pnb>День добрый. pnb>Помогите чуток с переводом кода на С#.
pnb>VCL:
pnb>
pnb>procedure Clone(Src: TSomeObject; var Result : TSomeObject);
pnb>var
pnb> i: integer;
pnb>begin
pnb> for i := 0 to Src.Count - 1 do
pnb> Result.Items[i] := Src.Items[i];
pnb>end;
pnb>
pnb>Заранее спасибо.
public TSomeObject Clone()
{
TSomeObject objResult = new TSomeObject();
for(i = 0; i < this.Items.Count; i++)
objResult.Items[i] = this.Items[i];
return objResult;
}
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Serginio1, Вы писали:
VD>Думаю, что еще Items нужно выкинуть. Это обычно артифакт аля this[].
Не совсем в Delphi есть свойства массивы по умолчанию но только одно. Кроме всего прочего в Delphi может быть несколько свойств массивов но с разными именами. В данном случае это поле коллекция. Правда можно и класс наследовать от IList но это другая песня.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Igor Trofimov, Вы писали:
VD>>Думаю, что еще Items нужно выкинуть. Это обычно артифакт аля this[].
iT>Не факт. Может оно по смыслу нужно — например, ListView.Items. Надо смотреть по контексту.
Я и не утрвеждаю, что факт. Я говорю "думаю".
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.