c#でTryParseをジェネリックで利用
静的メソッドTryParseをジェネリックで解決できないので、メソッドを呼び出す。 リフレクションを使うのでちょっと無理やりかなぁ。
type parse<type>;(string s)
{
MethodInfo method = typeof(type).GetMethod("TryParse", new Type[] { typeof(string), typeof(type).MakeByRefType() });
object[] parameters = new object[] { s, null };
if ((bool)method.Invoke(null, parameters))
{
return (type)(parameters[1]);
}
else {
return default(type);
}
}</type>