# Interface

- **功能描述:** 标识这个Class是个Interface。
- **引擎模块:** UHT
- **元数据类型:** bool
- **作用机制:** 在ClassFlags中添加[CLASS_Interface](../../../Flags/EClassFlags/CLASS_Interface.md)
- **常用程度:** 0

标识这个Class是个Interface。

只用在NoExportTypes.h中,我们自己的UInterface不需要手动设置。

是UHT在为UInterface生成的时候,设置在.generated.h里的。

## 源码例子:

```cpp
UCLASS(abstract, noexport, intrinsic, interface, Config = Engine)
class UInterface : public UObject
{}
```

## 原理:

```cpp
bool FKismetEditorUtilities::IsClassABlueprintInterface(const UClass* Class)
{
	if (Class->HasAnyClassFlags(CLASS_Interface) && !Class->HasAnyClassFlags(CLASS_NewerVersionExists))
	{
		return true;
	}
	return false;
}
```