Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
La palabra clave new indica que un miembro virtual obtendrá una nueva ranura en vtable.
Todos los runtimes
(No hay notas para esta característica de lenguaje que se apliquen a todos los runtimes).
Windows en tiempo de ejecución
No se admite en Windows Runtime.
Common Language Runtime
Comentarios
En una compilación de /clr, new indica que un miembro virtual obtendrá una nueva ranura en vtable; que la función no reemplaza un método de clase base.
new hace que el modificador newslot se agregue al IL para la función. Para obtener más información sobre newslot, vea:
Requisitos
Opción del compilador: /clr
Ejemplos
En el siguiente ejemplo se muestra el efecto de new.
// newslot.cpp
// compile with: /clr
ref class C {
public:
virtual void f() {
System::Console::WriteLine("C::f() called");
}
virtual void g() {
System::Console::WriteLine("C::g() called");
}
};
ref class D : public C {
public:
virtual void f() new {
System::Console::WriteLine("D::f() called");
}
virtual void g() override {
System::Console::WriteLine("D::g() called");
}
};
ref class E : public D {
public:
virtual void f() override {
System::Console::WriteLine("E::f() called");
}
};
int main() {
D^ d = gcnew D;
C^ c = gcnew D;
c->f(); // calls C::f
d->f(); // calls D::f
c->g(); // calls D::g
d->g(); // calls D::g
D ^ e = gcnew E;
e->f(); // calls E::f
}
C::f() called
D::f() called
D::g() called
D::g() called
E::f() called
Consulte también
Extensiones de componentes de .NET y UWP
Especificadores de invalidación