Je souhaite être capable de créer une erreur/un avertissement du compilateur si une certaine propriété de mon objet n'est pas définie. Disons que j'ai la classe suivante:Générer une erreur de compilation si la propriété n'est pas définie
interface
type
TBarkevent = procedure (Bark : String) of object;
TDog = class
private
FOnBark : TBarkevent;
procedure SetBark(const Value: TBarkevent);
function GetBark: TBarkEvent;
public
procedure Bark;
property OnBark : TBarkEvent read GetBark write SetBark;
constructor Create;
end;
implementation
{ TDog }
procedure TDog.Bark;
begin
if Assigned(OnBark) then
OnBark('Woof!')
end;
constructor TDog.Create;
begin
end;
function TDog.GetBark: TBarkEvent;
begin
Result := FOnBark;
end;
procedure TDog.SetBark(const Value: TBarkevent);
begin
FOnBark := Value;
end;
-je utiliser la classe TDog
dans une autre unité comme celui-ci:
var
Dog : TDog;
begin
Dog := TDog.Create;
Dog.OnBark := DogBark;
Dog.Bark;
Maintenant, une fois la procédure Bark()
est appelée, l'événement OnBark
est déclenché.
Ma question:
moi Est-il possible pour le rendre obligatoire pour spécifier la propriété OnBark
, de sorte qu'une erreur du compilateur/avertissement est émis si l'événement est pas défini?
Parfois, vous devez monter à la plaque et faire les choses correctement. Le compilateur ne peut pas faire votre travail pour vous. –
@DavidHeffernan Le problème est que, d'ici quelques années, quelqu'un d'autre que moi pourrait finir par utiliser ce code et avoir quelque chose qui leur dit qu'ils ont fait une erreur au début pourrait économiser beaucoup de temps et d'efforts –
Cela s'appelle la documentation –