我尝试使用以下代码获取字符串的ToLower()方法。
var tolowerMethod = typeof(string).GetMethods().Where(m => m.Name == "ToLower").FirstOrDefault();
我正在尝试获取DateTime的ToString()方法。我使用了以下代码
var formatMethod = typeof(DateTime).GetMethods().Where(m => m.Name == "ToString").ElementAt(1);
这不是唯一的。我尝试了类似下面但没有成功的事情。
var formatMethod2 = typeof(DateTime).GetMethods().Where(m => m.Name == "ToString").Where(x=>x.GetParameters().Select(t=>t.ParameterType).Equals(typeof(string))).FirstOrDefault();
任何想法?
由于
答案 0 :(得分:3)
它必须是linq吗? 你可能想要这样的东西:
var x = typeof(DateTime).GetMethod("ToString", new Type[] { typeof(string) });
或
var x = typeof(DateTime).GetMethod("ToString", new Type[] { });
或 ...
答案 1 :(得分:1)
这取决于你想要的ToString()方法的重载:
var method = typeof( DateTime ).GetMethods( )
.Where ( item => item.Name == "ToString" &&
item.GetParameters( ).Count () == 0 );
// this is the DateTime.Now.ToString( ) method without any parameter