Вы можете изменить свой тип экземпляра EC2 в любое время. Процесс
Вы можете остановить / запустите и измените тип экземпляра в консоли, CLI или с помощью API AWS.
Подробности здесь. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html
. Существует пара правил совместимости. следовать (например, вы не можете изменить тип экземпляра с 32-битного процессора на 64-битный процессор). Правила в док.
Можно изолировать отдельные методы препятствовать тому, чтобы они были переопределяемыми:
public sealed override void Render()
{
// Prepare the object for rendering
SpecialRender();
// Do some cleanup
}
Да, можно использовать изолированное ключевое слово в реализации класса B Рендеринга:
class B : A
{
public sealed override void Render()
{
// Prepare the object for rendering
SpecialRender();
// Do some cleanup
}
protected virtual void SpecialRender()
{
}
}
попробуйте sealed
class B : A
{
protected sealed override void SpecialRender()
{
// do stuff
}
}
class C : B
protected override void SpecialRender()
{
// not valid
}
}
, Конечно, я думаю, что C может обойти его, будучи new
.
В B сделайте
protected override sealed void Render() { ... }
да. Если Вы отмечаете метод как Изолированный затем, он не может быть переопределен в производном классе.
Другой (лучше?) путем является probablby использование нового ключевого слова, чтобы препятствовать тому, чтобы конкретный виртуальный метод был overiden:
class A
{
public virtual void Render()
{
}
}
class B : A
{
public override void Render()
{
// Prepare the object for rendering
SpecialRender();
// Do some cleanup
}
protected virtual void SpecialRender()
{
}
}
class B2 : B
{
public new void Render()
{
}
}
class C : B2
{
protected override void SpecialRender()
{
}
//public override void Render() // compiler error
//{
//}
}