Это имя шаблона для внутренний класс, содержащий объявления pinvoke. Его не нужно называть «NativeMethods», но FxCop жалуется, если вы его не назовете, поэтому это общий выбор.
факт, что он внутренний останавливает вас от использования его в вашем собственном коде.
Это не проблема, просто объявите свой собственный внутренний класс NativeMethods. Только объявления, которые вы фактически используете. WS_VISIBLE и WS_CHILD просты const объявления. Вы найдете их объявленными в файле WinUser.h на вашем компьютере, которые хранятся в каталоге Windows SDK. Но это C-декларации, язык, который был в списке исчезающих видов в последнее время, вы можете получить C#, просто посетив pinvoke.net web site. Он имеет тенденцию иметь приличные декларации, которые уже пригодны для копирования/вставки в ваш код, они, как правило, точны. Копирование/вставка из опорного источника или выход декомпилятора, как правило, работает хорошо. Или используйте PInvoke Interop Assistant. Нет недостатка источников :)
Но это именно то, что я хочу пропустить. Определения там, поэтому почему я должен создать другой класс, который поддерживает одни и те же вещи? В чем причина того, что MS делает это внутреннее? – GreenEyedAndy
Но это именно то, чего вы не должны делать. Pinvoke всегда является внутренней реализацией. Преднамеренное изменение объявления pinvoke - очень распространенный метод, который никогда не должен использоваться другим кодом. Теперь вы знаете, почему это совершенно не меняется, что вам нужно делать, конечно. –