У меня есть следующий код:
public class Parent
{
public string MyField { get; set; }
}
public class Child : Parent
{
protected new int MyField { get; set; }
}
Я пытаюсь получить доступ к этому с помощью:
static void Main(string[] args)
{
Child child = new Child();
child.MyField = "something";
}
Visual studio 2008 компилирует это без комментариев, но в Mono (2.4.2, Ubuntu) я получаю сообщение об ошибке
'HideTest.Child.MyField' is inaccessible due to its protection level (CS0122)
Является ли одна реализация или другая, более совместимая со стандартом здесь?
Изменить: Спасибо всем, кто указал на плохой дизайн. К сожалению, сторонняя библиотека и ее изменение значительно не практичны.