Should I change Methods or class names exposed using PInvoke / ComImport
See the question and my original answer on StackOverflowNames are not important for p/invoke or COM calls - usually, anything is possible :-).
What's most important is:
- parameters or struct fields marshaling definition: size, type, direction (in, out, ref), attributes, offset in structure, etc.
- orders: interface method order, parameter order, field order, etc.
- GUIDs (IID, CLSID, etc.) values
- custom attributes like ComVisible, Progid, MarshalAs, ComInterfaceType, etc.
That being said, I personally always keep the names as closest as possible as the original ones (sometimes you have to rename for some technical reason) and add SuppressMessage like you do. If you look at the .NET Framework itself (using a tool such .NET Reflector or ILSpy), you will observe the same rule in general.