Mono.AssemblyLocationProvider.CompareParameters C# (CSharp) Метод

CompareParameters() статический приватный Метод

static private CompareParameters ( Collection candidate, string expected ) : bool
candidate Collection
expected string
Результат bool
		static bool CompareParameters (Collection<ParameterDefinition> candidate, string expected)
		{
			var builder = new StringBuilder ();
			builder.Append ("(");

			for (int i = 0; i < candidate.Count; i++) {
				var parameter = candidate [i];
				if (i > 0)
					builder.Append (", ");

				if (parameter.ParameterType.IsSentinel)
					builder.Append ("...,");

				var pt = parameter.ParameterType;
				FormatElementType (pt, builder);

				builder.Append (" ");
				builder.Append (parameter.Name);
			}

			builder.Append (")");

			if (builder.ToString () == RemoveGenerics (expected, '[', ']'))
				return true;

			//now try the compact runtime format.

			builder.Clear ();

			builder.Append ("(");

			for (int i = 0; i < candidate.Count; i++) {
				var parameter = candidate [i];
				if (i > 0)
					builder.Append (",");

				if (parameter.ParameterType.IsSentinel)
					builder.Append ("...,");

				var pt = parameter.ParameterType;

				RuntimeFormatElementType (pt, builder);
			}

			builder.Append (")");

			if (builder.ToString () == RemoveGenerics (expected, '<', '>'))
				return true;
			return false;

		}