Cómo realizar operaciones de reflexión utilizando Roslyn

Me gustaría realizar operaciones de estilo de reflexión en la siguiente clase usando Roslyn:

public abstract class MyBaseClass
{
    public bool Method1()
    {
        return true;
    }
    public bool Method2()
    {
        return true;
    }
    public void Method3()
    {
    }
}

Básicamente quiero hacer esto, pero con Roslyn:

BindingFlags flags = BindingFlags.Public | 
                     BindingFlags.Instance;
MethodInfo[] mBaseClassMethods = typeof(MyBaseClass).GetMethods(flags);
foreach (MethodInfo mi in mBaseClassMethods)
{
    if (mi.GetParameters().Length == 0 && mi.ReturnType == typeof(void))
    {
        methodInfos.Add(mi);
    }
    if (mi.GetParameters().Length == 0 && mi.ReturnType == typeof(bool))
    {
        methodInfos.Add(mi);
    }
}

Esencialmente, me gustaría obtener una lista de los métodos que cumplen con los criterios que usé en el ejemplo de reflexión anterior. Además, si alguien sabe de un sitio que explique cómo hacer operaciones de reflexión con Roslyn, no dude en señalarme en esa dirección. He estado buscando durante horas y parece que no puedo avanzar en esto.

Gracias por adelantado,

Mover

Respuestas a la pregunta(2)

Su respuesta a la pregunta