private void AddSignatureConversion(Delegate conversion)
{
if (conversion == null)
{
throw new ArgumentNullException("conversion");
}
Type parameterType = GetParameterType(conversion);
if (parameterType == null)
{
throw new ArgumentException(BuilderResources.Exception_ConversionTakesOneParameter, "conversion");
}
Tuple<Type, Type> key = Tuple.Create(conversion.Method.ReturnType, parameterType);
_conversions[key] = conversion;
}