我在我的應用程序下面的代碼:代碼分析CA1060修復
[DllImport("user32.dll")]
private static extern int GetWindowLong(IntPtr hwnd, int index);
[DllImport("user32.dll")]
private static extern int SetWindowLong(IntPtr hwnd, int index, int newStyle);
[DllImport("user32.dll")]
private static extern bool SetWindowPos(IntPtr hwnd, IntPtr hwndInsertAfter,
int x, int y, int width, int height, uint flags);
[DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hwnd, uint msg,
IntPtr wParam, IntPtr lParam);
我從代碼分析(的FxCop)得到以下警告:
CA1060:Microsoft.Design:因爲它是一個P/Invoke方法, 'IconHelper.GetWindowLong(IntPtr,int)'應該在名爲NativeMethods,SafeNativeMethods或UnsafeNativeMethods的類 中定義。
有人可以告訴我我應該放哪個班嗎?我不知道它是Native,SafeNative還是UnsafeNative。
的可能重複[如何知道本機方法是安全/不安全?](http://stackoverflow.com/questions/4511418/how-to-know-if-native - 方法是安全不安全的) – dtb
[常見問題:如何解決MovePInvokesToNativeMethodsClass違規問題?](http://blogs.msdn.com/b/codeanalysis/archive/2007/01/14/faq-how- do-i-fix-a-violation-of-movepinvokestonativemethodsclass.aspx) – dtb