How to simplify these delegate functions?
You can use the generic delegate Func&lt;&gt;:

static private T TryThis&lt;T&gt;(Func&lt;T&gt; MyAction) {
    try {
        return MyAction();
    } catch (Exception ex) {
        Console.WriteLine(ex.ToString());
        return default(T);
    }
}