How I Get All Functions of one Object???

Hi, I Create a Plugin,
I would like to know how I can do to create a list of all available functions in an object in C++

void UMyClass::ListAllObjectUFunctions(const UObject* Object) {

    for ( TFieldIterator<UFunction> FIT ( Object->GetClass(), EFieldIteratorFlags::IncludeSuper ); FIT; ++FIT) {

        UFunction* Function = *FIT;
        UE_LOG ( LogTemp, Log, TEXT( "Function Found:  %s();" ), *Function->GetName() );


I spent a lot of time trying to figure out this logic …
Is there any way to find out what parameters are required to perform this function?

Function parameters (and return values) are instantiated as UProperty’s as well, it is possible to iterate over them like so (random example from source code):

for ( TFieldIterator<UProperty> It(Function); It && (It->PropertyFlags&(CPF_Parm|CPF_ReturnParm)) == CPF_Parm; ++It )
        LastParameter = *It;

You can look through the source to find some usage examples on how to process the parameters.