Ich wurde für die .NET-Implementierung von Atan2 in einem Reflektor suchen und finden Sie die folgende Zeile:Wie ist Atan2 in .NET implementiert?
public static extern double Atan2(double y, double x);
Das ist nicht überraschend, da es Sinn macht für die meisten arithmetischen Funktionen in nativen Code implementiert werden. Es war jedoch kein DllImport-Aufruf mit dieser oder anderen Funktionen in System.Math verknüpft.
Die Kernfrage ist, wie die Funktion in nativem Code implementiert ist, aber ich möchte auch wissen, in welcher nativen DLL es sich befindet. Warum gibt es auch keinen DllImport? Ist das so, weil die Compilation es wegstreift?
+1 siehe auch: http://stackoverflow.com/questions/4162232/atan2-in-c-sharp- oder -ähnliche-lanaguge –
Es gibt kein DllImport, da die Methode das 'MethodImp (MethodImplOptions.InternalCall)]' Attribut verwendet (das für systemeigenen Code verwandt wird, der D genannt wird) direkt nach CLR-Methoden). Dies ist ein spezielles Attribut nur für die CLR. Siehe auch diese Antwort von Hans Passant: http://StackOverflow.com/a/8870593/106159 –