У меня возникла проблема с расширением стандартного элемента управления WebControls.Button. Мне нужно переопределить свойство текста, но я получаю сообщение об ошибке:Переопределение свойства «Текст» элемента управления, расширенного от кнопки с использованием C#
не может переопределить член «унаследовал System.Web.UI.WebControls.Button.Text.get», потому что оно не отмечено виртуальным, реферата или переопределение
Я использовал следующий код для LinkButton, и работал отлично:
public class IconLinkButton : LinkButton
{
private string _icon = "";
public string Icon
{
get
{
return _icon;
}
set
{
_icon = value;
}
}
public override string Text
{
get
{
return "<i class=\""+Icon+"\"></i> " + base.Text;
}
set
{
base.Text = value;
}
}
}
Однако, делая то же самое для стандартной кнопки поднимает ошибку, которую я описал выше.
public class IconButton : Button
{
private string _icon = "";
public string Icon
{
get
{
return _icon;
}
set
{
_icon = value;
}
}
public virtual string Text
{
get
{
return "<i class=\"" + Icon + "\"></i> " + base.Text;
}
set
{
base.Text = value;
}
}
}
Как это исправить?
Будет ли 'base.Text' возвращать свойство« Text »родителей или отменяет его с его собственным? –
Он будет функционировать так, как вы ожидаете. Поскольку в вашем оригинале вы все равно используете его как прокси-сервер для основного унаследованного имущества. –
Спасибо, Саймон, это отлично сработало, и теперь, когда вы это объяснили, это имеет смысл! Примите ответ, как только смогу :) – Dave