Wenn ich einen Standard-CancellationToken
erstelle ich im Debugger sehen kann, dass die CancellationToken
ein CancellationTokenSource
mit ihm verbunden hat, die im privaten m_source
Feld gespeichert ist:Wie kann ein Standard (CancellationToken) einen entsprechenden CancellationTokenSource
Ich frage mich, wie das sein kann wie für Strukturen default
Schlüsselwort "will return each member of the struct initialized to zero or null depending on whether they are value or reference types" und CancellationTokenSource
ist ein Referenztyp.
CancellationToken
hat 2 Konstrukteure haben, die dieses Feld jedoch setzen sie als default(CancellationToken)
irrelevant sind nicht nennen Konstrukteuren und new CancellationToken()
(was genau das gleiche Verhalten hat) kann parameterlos Konstrukteuren nicht keinen Konstruktor becuase structs nicht anrufen (yet).
Ah, ein Klassiker [Heisenbug] (http://en.wikipedia.org/wiki/Heisenbug). –