示例#1
0
		/////////////////////////////////////////////////////////////////////////////
		
		protected static object [] FindMethod( ObjectInfo objInfo, object [] argsIn, out MethodBase miOut )
		{
			// ******
			IList<MethodBase> methods = objInfo.MembersAs<MethodBase>();

			// ******
			MethodBase mi;
			object [] args = MatchArgs( methods, argsIn, out mi );
			if( null != args ) {
				miOut = mi;
				return args;
			}

			//
			// never returns
			//
			ThreadContext.MacroError( "unable to locate an implementation of \"{0}\" whose parameters match (or can be converted from) \"{1}\"\nTried matching:\n{2}", objInfo.MemberName, Arguments.ObjectsTypeNames(argsIn), Arguments.GetMethodSignatures(methods) );

			// ******
			miOut = null;
			return null;
		}