TObject::ClassNameIs - C++ Builder

C++ Builder 参考手册 ➙ TObject ➙ System ➙ ClassNameIs


头文件:#include
命名空间:System
函数原型:

__classmethod bool __fastcall ClassNameIs(const UnicodeString Name);

System::TObject::ClassNameIs 是 System::TObject 的成员函数,判断一个字符串是否为这个类的类名。

  • Name: 字符串,要判断的类名,不区分大小写;
  • 返回值:true: 类名正确,是这个类的实际类名;
  • 返回值:false: 类名不正确,父类的类名返回都是 false。

例:在事件里面判断产生事件的控件的类名

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Memo1->Lines->Add(Sender->ClassNameIs(L"TButton") ? L"是 TButton" : L"不是 TButton");
    Memo1->Lines->Add(Sender->ClassNameIs(L"tbutton") ? L"是 tbutton" : L"不是 tbutton");
    Memo1->Lines->Add(Sender->ClassNameIs(L"TObject") ? L"是 TObject" : L"不是 TObject");
    Memo1->Lines->Add(Sender->ClassNameIs(L"TControl") ? L"是 TControl" : L"不是 TControl");
    Memo1->Lines->Add(Sender->ClassNameIs(L"TButtonControl") ? L"是 TButtonControl" : L"不是 TButtonControl");
}

运行结果:

  • 类名不区分大小写;
  • 只有实际类名为真,父类类名为假。
运行结果

参考:

  • System::TObject::ClassName
  • System::TObject::QualifiedClassName
  • System::TObject::UnitName
  • System::TObject::UnitScope
  • System::TObject::ClassInfo
  • System::TObject::ClassType
  • System::TObject
  • VCL 类继承关系

C++ Builder 参考手册 ➙ System ➙ TObject ➙ ClassNameIs

你可能感兴趣的:(TObject::ClassNameIs - C++ Builder)