c# - tag - ¿Por qué el vacío es una estructura?
pagina maestra visual studio 2017 (1)
El marco utiliza System.Void para representar la palabra clave de tipo void
return para usar con la reflexión. Aunque void
significa la falta de un valor de retorno, aún es técnicamente un tipo, y para que se exprese como tal en el código, debe ser una estructura (tipo de valor) o una clase (tipo de referencia).
Ver MethodInfo.ReturnType
para un ejemplo.
En cuanto a por qué los diseñadores de marcos optaron por hacer de System.Void
una estructura y no una clase es lo que nadie puede suponer, pero tiene que estar representado por un tipo en primer lugar. Estoy de acuerdo con los comentarios en que se trata de evitar la sobrecarga innecesaria que suele asociarse con las búsquedas de referencia, entre otras optimizaciones.
Me di cuenta de que en Microsoft .NET Framework, el tipo de retorno void
es una estructura. ¿Por qué?
...
public void TestMethod()
{
}
...