"Вызов неоднозначен между следующими методами или свойствами" на идентичных путях
У меня странная ошибка с Umbraco/uCommerce, я создал библиотеку поддержки и внезапно получаю странную ошибку, препятствующую компиляции.
Ошибка 9 Вызов неоднозначен между следующими методами или свойствами: "uCommerce_Boilerplate.Web.Controllers.ExtensionFunctions.ToDescription(System.Enum)" и "uCommerce_Boilerplate.Web.Controllers.ExtensionFunctions.ToDescription(System.Enum)".
У меня есть один файл, который содержит несколько функций, и это фрагмент, вызывающий ошибку.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.Linq;
using UCommerce;
using UCommerce.EntitiesV2;
using UCommerce.Infrastructure;
using UCommerce.Transactions;
using UCommerce.Transactions.Payments;
using UCommerce.Transactions.Payments.Dibs;
namespace uCommerce_Boilerplate.Web.Controllers
{
public static class ExtensionFunctions
{
public static string ToDescription(this Enum value)
{
var da = (DescriptionAttribute[])(value.GetType().GetField(value.ToString())).GetCustomAttributes(typeof(DescriptionAttribute), false);
return da.Length > 0 ? da[0].Description : value.ToString();
}
}
public static class SupportLib
{
public enum MethodName
{
[Description("Invoice")] Invoice = 1,
}
public static void RunOrder(MethodName methodName = MethodName.Invoice)
{
// The methodName.ToDescription() is throwing the error
PaymentMethod method = getPaymentMethod(methodName.ToDescription());
}
}
}
1 ответ
У вас может быть циклическая ссылка в ссылках на сборку, поэтому вызов метода внезапно становится неоднозначным.
Как вы описали в комментариях к вопросу, которые вы использовали UserControls
из этой сборки внутри себя, VS Designer мог бы добавить ссылку на UserControl's
содержащий сборку сам по себе, как это иногда происходит, когда вы используете UserControl
из VS Toolbox.