Hace poco estuve investigando los internos de la estructura CancellationToken
y descubrí un poco de construcción extraña (para ser más precisos, asignación de valor a la palabra clave this
).Asignación de un valor de estructura a esta palabra clave
Código de uno de sus constructores es como sigue:
public CancellationToken(bool canceled)
{
this = new CancellationToken();
if (canceled)
{
this.m_source = CancellationTokenSource.InternalGetStaticSource(canceled);
}
}
¿Cuál es el significado de la línea en la que se realice la cesión a this
palabra clave?
Tenga en cuenta que la asignación a la palabra clave this
no es posible para las clases - se produce el error Cannot assign to '<this>' because it is read-only
.