"Вызов неоднозначен между следующими методами или свойствами" на идентичных путях

У меня странная ошибка с 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.

Другие вопросы по тегам