estoy hurgando unos dlls en el marco de XNA usando ILSpy y me encontré con esto:sintaxis miembro de la clase impar muestra en ILSpy
class KerningHelper
{
private void !KerningHelper()
{
((IDisposable)this).Dispose();
}
}
¿Cuál es el signo de exclamación en el anterior? ¿Es un problema con ILSpy o algo más?
Nota, la clase tiene un destructor separado: private unsafe void ~KerningHelper()
.
En CLI/C++ el! KerningHelper simbolizaría un 'finalizador' en lugar de un' destructor' ¿quizás tiene algo que ver con eso? Eche un vistazo aquí: http://en.wikipedia.org/wiki/C%2B%2B/CLI#Finalizers_and_automatic_variables – Nick
No es válido C# en ambos sentidos, así que supongo que alguna representación IL que luego se traduce un poco hacia atrás incorrecto. –
@ AdamHouldsworth: compré escribiendo mi propia clase con eso y llegué a la misma conclusión. Me interesa saber qué era originalmente/para qué sirve/cuál es la sintaxis original. :) –