В настоящее время я занимаюсь размышлением в С#. После:
Assembly.LoadFile(@"C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.7\System.Numerics.Vectors.dll").GetTypes()
И я нашел это: [System.Numerics.Matrix4x4], [System.Numerics.Matrix4x4+CanonicalBasis], [System.Numerics.Matrix4x4+VectorBasis]
(Есть отраженные типы из "System.Numerics.Vectors.dll") Я знаю что Matrix4x4 является структурой, однако я не могу найти информацию о CanonicalBasis и VectorBasis, и что означает "+" в этом контексте. Я занимался дальнейшими исследованиями, и еще одна странная вещь:
Assembly.LoadFile(@"C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.7\System.Numerics.Vectors.dll").GetType("System.Numerics.Matrix4x4+VectorBasis").FullName
"System.Numerics.Matrix4x4+VectorBasis"
Но:
Assembly.LoadFile(@"C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.7\System.Numerics.Vectors.dll").GetType("System.Numerics.Matrix4x4+VectorBasis").Name
"VectorBasis"
Более того, когда я просматривал элементы Matrix4x4 + VectorBasis, есть такой элемент:
[System.Numerics.Vector3* Element0]
И это необработанный указатель, как в c++? Или что это?
PS Я делал это в С# interactive, но я не думаю, что это повлияло на результаты.