dimanche 6 mai 2018

What does "+" mean in reflected FullName and '*' after Member c#

I'm currently dealing with reflection in c#. After:

Assembly.LoadFile(@"C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.7\System.Numerics.Vectors.dll").GetTypes()

And i found this: [System.Numerics.Matrix4x4], [System.Numerics.Matrix4x4+CanonicalBasis], [System.Numerics.Matrix4x4+VectorBasis] (There are reflected types from "System.Numerics.Vectors.dll") I know that Matrix4x4 is structture, however I can't find any info about CanonicalBasis and VectorBasis, and what "+" means in this context. I was doing further research and another strange thing is that:

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"

But:

Assembly.LoadFile(@"C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.7\System.Numerics.Vectors.dll").GetType("System.Numerics.Matrix4x4+VectorBasis").Name
"VectorBasis"

Moreover, when I looked through members of Matrix4x4+VectorBasis there is member like this:

[System.Numerics.Vector3* Element0] 

And is it raw pointer like in c++? Or what is it?

P.S. I was doing it in c# interactive, but i don't think it had any influence on results.





Aucun commentaire:

Enregistrer un commentaire