'System.Runtime.InteropServices.DllImportAttribute' kann nicht auf eine Methode angewendet werden, die generisch oder in einem generischen Typ geschachtelt ist.

Eine Prozedur wird mit DllImportAttribute deklariert, ist jedoch entweder generisch oder in einer generischen Klasse oder Struktur enthalten.

Die Common Language Runtime (CLR) erkennt dieses Attribut und seine EntryPoint Eigenschaft als Designierung einer Ersetzungsprozedur, die in einer nicht verwalteten Dynamic Link Library (DLL) außerhalb von .NET Framework definiert ist. Wenn der Code die Prozedur aufruft, auf die die DllImportAttribute Anwendung angewendet wird, ruft die Common Language Runtime stattdessen die festgelegte nicht verwaltete Prozedur auf.

Da nicht verwaltete Plattformen außerhalb von .NET Framework generische Typen nicht erkennen, können Sie nicht mit ihnen mit generischen Typen zusammenarbeiten.

Fehler-ID: BC31526

So beheben Sie diesen Fehler

  • Wenn weder die Prozedur noch ihr Container generisch sein müssen, entfernen Sie die Of Klauseln, damit sie nicht generisch sind.

  • Wenn die Prozedur oder ihr Container generisch sein muss, entfernen Sie das DllImportAttribute aus der Deklaration dieser Prozedur.

Siehe auch