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?