DECLARE_DYNAMIC_DELEGATE_RetVal_FourParams
时间: 2023-09-03 12:12:18 浏览: 100
DECLARE_DYNAMIC的定义-mfc课件 第3章 CObject派生类
这是一个宏定义,用于声明一个动态委托,该委托有四个参数并且返回值类型可自定义。下面是该宏定义的源代码:
```
#define DECLARE_DYNAMIC_DELEGATE_RetVal_FourParams(DelegateName, ... ) \
DECLARE_DELEGATE_RetVal_FourParams(DelegateName, __VA_ARGS__) \
template<typename Functor> \
FORCEINLINE typename TEnableIf<!TIsSame<Functor, DelegateName>::Value, DelegateName>::Type& operator=(Functor InFunctor) \
{ \
return *new DelegateName::template TRawMethodDelegateInst<sizeof(DelegateName::FDelegateHelper), sizeof(Functor)>(InFunctor); \
}
```
使用此宏定义时,需要提供两个参数:委托名称和四个参数的类型列表。例如:
```
DECLARE_DYNAMIC_DELEGATE_RetVal_FourParams(FMyDelegate, int32, float, FString, bool);
```
这将声明一个名为 FMyDelegate 的动态委托,该委托有四个参数,分别为 int32、float、FString 和 bool 类型,并且可以根据需要指定返回值类型。
阅读全文