using System.Collections.Generic;
public string Bar(string s) { throw new NotImplementedException(); }
public T Bar<T>(string s) { throw new NotImplementedException(); }
var fooType = typeof(Foo);
var genericMethodInfo = fooType.GetMethods().First(m => m.Name == "Bar" && m.IsGenericMethod);
var nonGenericMethodInfo = fooType.GetMethods().First(m => m.Name == "Bar" && !m.IsGenericMethod);
Console.WriteLine("genericMethodInfo.IsGeneric: " + genericMethodInfo.IsGenericMethod);
Console.WriteLine("nonGenericMethodInfo.IsGeneric: " + nonGenericMethodInfo.IsGenericMethod);