private static void CreateDynamicMethods(Type type, MethodInfo handling) { MethodInfo[] _mets = type.GetMethods(); foreach (MethodInfo _met in _mets) { if (_met.DeclaringType == type) { VirtualProxyHooker.CreateDynamicMethod(_met, handling, VirtualProxyHooker.CreateDynamicType()); } } }
private static MethodInfo Create(MethodInfo method, MethodInfo handing) { lock (_looker) { MethodInfo mi; if (_mms.TryGetValue(method, out mi)) { return(mi); } TypeBuilder tb = VirtualProxyHooker.CreateDynamicType(); mi = VirtualProxyHooker.CreateDynamicMethod(method, handing, tb); _mms.Add(method, mi); return(mi); } }