Я бы посмотрел это на Google / MSDN, но я понятия не имею, как он называется, поэтому я спрашиваю здесь.
В Java я помню, что вы можете сделать это действительно круто, например:
Class MyClass
{
int number;
MyClass() { }
void setNumber(int number)
{
this.number = number;
}
}
и затем сделайте что-то вроде:
MyClass myClass = new MyClass()
{
override void setNumber(int Number)
{
this.number = 2 * number;
}
};
... или что-то в этом роде.Прошу прощения за любые ошибки, которые я сделал выше - я фактически не трогал Java около 6 лет.
Дело в том, я помню, что вы могли бы псевдо-расширить встроенный класс.
Прямо сейчас яНеобходимо расширить элемент управления C # WinForms, но мне нужно использовать его только один раз, и изменения очень незначительны.Все, что мне нужно сделать, это переопределить свойство CreateParams
и обработчик OnPaint()
.
Мое решение уже набирает популярность благодаря повсеместному использованию классов, кажется стыдным включать еще один класс, которыйв основном идентично стандартному элементу управления .Net, только с немного отличным поведением.
Возможно ли сделать это inline-расширение в C # так же, как в Java?Если так, то как?(и как он называется, чтобы я мог найти его в MSDN?)