Поделиться через


System.Runtime.InteropServices.DllImportAttribute не может применяться к методам экземпляра

Обновлен: Ноябрь 2007

'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to instance methods

Не являющаяся общей процедура объявлена с DllImportAttribute.

Cреда CLR распознает этот атрибут и его свойство EntryPoint как назначение процедуры замены, определенной в неуправляемой динамически подключаемой библиотеке (DLL) вне .NET Framework. Когда код вызывает процедуру, к которым применяется DllImportAttribute, общеязыковая среда выполнения вызывает назначенную неуправляемую процедуру.

Поскольку неуправляемые платформы вне .NET Framework не поддерживают неразделяемые процедуры таким же образом, как .NET Framework, невозможно взаимодействовать с ними с помощью неразделяемых процедур.

Идентификатор ошибки: BC31529

Исправление этой ошибки

  • Если процедура не применяется индивидуально к каждому экземпляру его класса или структуры, то объявите ее в качестве Shared.

  • Если процедура не может быть Shared, то удалите DllImportAttribute из объявления данной процедуры.

См. также

Ссылки

DllImportAttribute

Shared (Visual Basic)