У меня есть базовый класс с полем:
class Base
{
public int A;
public int ShowA()
{
Console.WriteLine(A);
}
}
У меня есть производный класс:
class Derived : Base
{
public Derived()
{
A = 5;
}
}
Я использую графический редактор, который показывает все поля для класса. Поскольку Derived
устанавливает A
в своем конструкторе, я не хочу, чтобы он отображался в редакторе. В редакторе нет полей с атрибутом have [HideInInspector()]
.
Как сделать так, чтобы у Derived
было свойство A
с атрибутами [HideInInspector()]
, а у Base
нет?
Я не могу использовать ключевое слово new
, потому что хочу, чтобы Base
все еще использовал то же поле, что и Derived
в своих функциях (например, (new Derived()).ShowA()
выведет 5
).
Редактировать: это выглядит как трюки со свойствами, и new
не будет работать, потому что редактор GUI обрабатывает поля с new
дважды (один раз для базы и один раз для производной).