JetBrains Rider, Visual Studio конфликтующие неоднозначные справочные ошибки

Скажем, у меня есть такой фрагмент из внешней библиотеки DLL, которую я должен использовать.

      public class DerivedClass : IBaseInterface
{
    [JsonIgnore]
    [NonOverridable]
    [InspectorReadOnly]
    public string name;

    string IBaseInferface.name {
        get {
            return name;
        }
        set {
            name = value;
        }
    }
}

И я публикую dll с помощью https://github.com/AzeTheGreat/Publicise, чтобы я мог получить доступ к частным членам как к общедоступным.

Но если я использую публичную dll в JetBrains Rider вот так:

      public class Main
{
    private DerivedClass dobj;
    
    public void func()
    {
        // Jetbrains intellisense shows an ambiguous referencee error
        //   <AccessTest>\Main.cs:339 Ambiguous reference:
        //   string IBaseInterface.name (in class DerivedClass)
        //   string name (in class DerivedClass)
        //   match
        dobj.name = "";
    }
}

Однако проект строится нормально, без ошибок. И делая то же самое, Visual Studio, VS intellisense вообще не обнаруживает никаких ошибок.

Одно из возможных объяснений состоит в том, что декомпилятор JetBrains, кажется, показывает опубликованный IBaseInterface.name как общедоступный, а декомпилятор Visual Studio - нет. (Для меня это не имеет никакого смысла, поскольку это одна и та же сборка, а декомпиляторы показывают разные вещи.)

Есть ли способ решить эту проблему (я не могу изменить внешнюю DLL)? Или хотя бы разметить строку, чтобы intellisense не жаловался в JetBrains Rider?

0 ответов

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