public T visit<T>(object arg, params object[] extrasArgs)
{
var methed=from m in GetType().GetMethods()
where m.Name == "Visit" && m.GetParameters().Length == 1 + extraArgs.Length
&& arg.GetType().IsAssignableFrom(m.GetParameters()[0].ParameterType)
&& m.ReturnType == typeof(T)
orderby m.GetParameters()[0].ParameterType.Name == arg.GetType().Name descending, m.GetParameters()[0].ParameterType.Name ascending
select m;
return (T)method.First().Invoke(this, new[] { arg }.Concat(extraArgs).ToArray());
}
今天看OXITE的Visitor,结果看的一头雾水,,麻烦哪位大侠给解释一下,,,
(1)public T visit<T>(object arg, params object[] extrasArgs)这种写法是什么意思
(2)麻烦对这个方法里面的代码解释一下
小弟拜谢