C
cjtmh
Unregistered / Unconfirmed
GUEST, unregistred user!
as运算符是用来做类的转换,它会将左方操作数的这个变量所属的类,转为右方操作数那种类。而用在面向对象的程序设计时,as操作数可将左方的对象由原来所属的类,转为右方操作数的那种类。
但是我在看例子时是这样的
procedure TForm1.btn1Click(Sender: TObject);
begin
ShowMessage((Sender as TButton).Name);
end;
会出现btn1
是不是将sender转为了Tbutton类的对象
但为什么这行会出错?
TBeta = class
end;
procedure TForm1.btn1Click(Sender: TObject);
var
tmh:TBeta;
begin
ShowMessage((tmh as TButton).Name);
end;
但是我在看例子时是这样的
procedure TForm1.btn1Click(Sender: TObject);
begin
ShowMessage((Sender as TButton).Name);
end;
会出现btn1
是不是将sender转为了Tbutton类的对象
但为什么这行会出错?
TBeta = class
end;
procedure TForm1.btn1Click(Sender: TObject);
var
tmh:TBeta;
begin
ShowMessage((tmh as TButton).Name);
end;