"strict" ist ein Keyword von Delphi.Net und macht aus einem private/protected ein richtiges private/protected.
kleiner Bleistift:
Delphi-Quellcode:
type EineKlasse = class
strict private fStrictPrivate :Integer;
private fPrivate :Integer;
strict protected fStrictProtected :Integer;
protected fProtected :Integer;
end;
type EineAbleitung = class(EineKlasse)
private procedure DoSomething;
end;
type EineGanzAndereKlasse = class
private procedure DoSomething;
end;
procedure EineAbleitung.DoSomething;
begin
fStrictPrivate := 1; // boom
fPrivate := 1; // geht
fStrictProtected := 1; // geht
fPrivate := 1; // geht
end;
procedure EineGanzAndereKlasse.DoSomething;
begin
fStrictPrivate := 1; // boom
fPrivate := 1; // geht
fStrictProtected := 1; // boom
fProtected := 1; // geht
end;
Das das Wort "Assembly" aus der .Net-Welt stammt sollte dir auch schon untergekommen sein.
Zitat von
Pseudemys Nelsoni:
muss ich delphi nachher noch komplett neu lernen oder wie :\
Glaube mir, unter .Net willst du kein Delphi benutzen.
Es ist in .Net normale (und auch gewollte) Praxis eine öffentliche Eigenschaft nach ihrem Typen zu benennen.
Da der Delphi compiler einfach nicht schlau genug ist um herauszufinden, wann du das gleiche Wort als Typ und wann als Eigenschaft benutzt, wirst du fast dazu gezwungen, den Typen in einer anderen
Unit und unter einem anderen NameSpace zu deklarieren. Und dann musst du natürlich den Typen _IMMER_ inklusive kompletten NameSpace-Pfad (
) angeben.
Jeder .Net-Delphianer wird diesen Schnipsel nur zu gut kennen (und hassen) gelernt haben:
Code:
If SomeDialog.ShowDialog() = [b]System.Window.Forms.[/b]DialogResult.OK then
Ein
TTypName kannst du unter .Net getrost vergessen, jeder C#'ler/VB.Net'ler wird sich bei dir "bedanken" für diese ollen
Ts;
Edit: Schlectschreibung...