I want to write a method that will analyze custom attributes of any method (with any number of arguments and any return type) knowing only method info. 
This function will check if method has specific Attribute. like this: `var tmp = methodInfo.GetCustomAttributes(typeof(LineItemAttribute),false);` and if it has such attribute It will execute it.And I want to make call of that function really easy to use. So, in example there are three methods and method `GetMethodAttributes` that I want to call. 

```
class Test
{
      public static void Main()
      {
      }

      public void Test1(){}

      public void Test2(int a){}

      public void Test3(object a, string c, Boolean d);

      public void GetMethodAttributes(MethodInfo mi) {}
}

```

Ideally I want to write something like that

```
public static void Main()
    {
        var t = new Test();
        GetMethodAttributes(t.Test1);
        GetMethodAttributes(t.Test2);
        GetMethodAttributes(t.Test3);
    }

```

I don't want to use string representation of the method names as method names may change, like that:

```
MethodInfo info = type.GetMethod(name);

```

Do I have any options? Basically I need a way to use delegates for functions with different sinatures