TObject::ClassNameIs:判断类名是否为参数指定的字符串
判断类名是否为参数指定的字符串。
如果父类指针指向的是子类,通过父类指针判断类名,用的是子类的类名进行判断。
函数原型:
__classmethod bool __fastcall ClassNameIs(const UnicodeString Name); |
头文件:
#include <System.hpp>
命名空间:
System
参数:
Name:类名字符串
返回值:
true:这个对象是 Name 类名字符串指定的类型
false:这个对象不是 Name 类名字符串指定的类型
通过父类指针,包括任何一个祖先类的指针,还是这个对象的指针判断,都将根据这个对象真正的类型来判断。
例子:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Lines->Add(Sender->ClassNameIs(L"TButton" )?L"是TButton" :L"不是TButton" );
Memo1->Lines->Add(Sender->ClassNameIs(L"TComponent")?L"是TComponent":L"不是TComponent");
Memo1->Lines->Add(Sender->ClassNameIs(L"TObject" )?L"是TObject" :L"不是TObject" );
} |
兼容性:
相关链接:
• TObject::ClassName • TObject::QualifiedClassName • TObject • VCL基础类
|