Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

364
Views
CS0212 Error al usar dll con código no seguro: solo puede tomar la dirección de una expresión no fija dentro de un inicializador de declaración fija

El fragmento (incompleto)

 unsafe class MainWindow { ... IntPtr somePtr = IntPtr.Zero; unsafe private void Click(object sender, RoutedEventArgs e) { NamespaceFromReferencedUnsafeDll.SomeFunction(&somePtr) } ... }

}

Se supone que debe llamar a SomeFunction desde una Dll administrada con código no seguro, para establecer el puntero somePtr , pero da como resultado el error del compilador

CS0212: solo puede tomar la dirección de una expresión no fija dentro de un inicializador de declaración fija

De acuerdo con esta respuesta , la palabra clave fixed debe usarse de alguna manera, pero

 fixed(IntPtr somePtr = IntPtr.Zero);

no ayudó

¿Cómo puedo arreglar esto (sin juego de palabras)?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

El problema era la firma de

 SomeFunction

en el dll inseguro al que se hace referencia.

Después de cambiar

 public static unsafe uint SomeFunction(IntPtr* somePtr)

para

 public static unsafe uint SomeFunction(out IntPtr somePtr)

el fragmento

 class MainWindow { ... IntPtr somePtr = IntPtr.Zero; private void Click(object sender, RoutedEventArgs e) { NamespaceFromReferencedUnsafeDll.SomeFunction(out somePtr) } ... }

compila sin errores y funciona en tiempo de ejecución.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!